Arsip: bagaimana cara menggunakan DBImage buat masukin image JPG ?

 
user image
more 17 years ago

shindo

prens, nanya nih ... saya bikin program database yg bisa masukin gambar/foto sekalian tapi ternyata foto nya nggak bisa tersimpan ... bagaimana cara betulinnya ya ? procedure TFrMPet.btPicsClick(Sender: TObject); begin if OpenDlg.execute then begin fpics.LoadFromFile(OpenDlg.FileName); if (fpics.Picture.Height > 250) or (fpics.Picture.Width > 250) then ShowMessage('Gambar yg dimasukkan melebihi dimensi 250x250'); end; end; fpics adalah komponen TDBImage nya mohon pencerahan nya TIA
user image
more 17 years ago

centos

Hi, TDBImage nggak support JPG. Salah satu cara supaya bisa, gunakan GraphichEx (http://www.soft-gems.net/GraphicEx.php). HTH
user image
more 17 years ago

wongUedanTenan

Pake JvDBImage dari JVCL kalo digabung ma graphicEx bisa lebih edan lagi... Software db gw bisa support untuk png,psd,gif,tiff dkk pake gabungan itu. Sorry lg males ngasih komentar teknis ;)
user image
more 17 years ago

shindo

@centos: umm ... saya coba lihat ke site yg anda berikan itu ... dari list supported format nya kok yg GraphicEX juga ngga ada support buat JPG ya ?
user image
more 17 years ago

tukang_coding

gw kasi jalan alternatif untuk database mysql...(ini adalah cara kasar) caranya kita ambil aja nilai bitnya dari gambar yang diinginkan terus diubah kedalam string. jadi stringnya tersebut yang disimpan ke dalam database. //mengubah data citra kedalam string (memory dump) function ImageToHex(ext_file:string;img:TImage;progress:TProgressBar):string; var aStrStream:TStringStream; s,s1:string; l:longint; c:char; b:byte; begin aStrStream:=TStringStream.Create(''); try img.Picture.Graphic.SaveToStream(aStrStream); s:=astrStream.DataString; if Assigned(progress) then begin Progress.Min:=1; Progress.Max:=Length(s); end; s1:=ext_file; for l:= 1 to Length(s) do begin c:=s[l]; asm mov al,c mov b,al end; s1:=s1+IntToHex(b,2); if Assigned(Progress) then Progress.Position:=l; end; result:=s1; finally astrStream.Free; end; end; //untuk mengubah stringnya ke dalam image ... bmp:=TBitmap.Create; jpg:=TJPEGImage.Create; try if ext_file = '.BMP' then begin TextToBitmap(bmp_str,bmp); img.Picture.Bitmap:=bmp; end else begin TextToJPEG(bmp_str,jpg); img.Picture.Graphic:=jpg; end; finally jpg.Free; bmp.Free; end; ...
user image
more 17 years ago

yafie

@@tukang_coding Kalo diubah ke bentuk binary trus ke string ukuran data jadi berlipat2, kenapa juga gak dibikin ke bentuk blob aja. Khan lebih kecil dibanding dalam bentuk string convertion gitu? @@shindo Setahuku TDBImage gak punya procedure LoadFromFile, TDBImage hanya bisa dihubungin ke data source dan field yang akan dibuka. Kalo kamu pake SQL server, Image dapat disimpan langsung ke dalam database dalam bentuk blob, tapi aku gak nyaranin soalnya load database jadi besar buanget.
user image
more 17 years ago

tukang_coding

@yafie anda benar..!!! sudah pernah nyoba ga? untuk mysql yang make blob? bukan sql server, masalahnya ukuran buffernya terbatas. mungkin saya yang oon..!!! tapi kalo gambar seukuran image icon 30x30 pixel itu oke oke aja... tanpa makai coding...!!! coba aja perhatikan jika anda load citra pada komponen image, trus coba lihat di file .dfm bukanya nilai bit-nya di ubah ke string.???? (saya make delphi 6) kalo pake db paradox ato sql server sih enjoy aja. tapi kalo make mysql gimana...!!! mungkin anda punya tips..!!! disinia saya hanya memberikan solusi alternatif saja.
user image
more 17 years ago

shindo

err ... kalo yg saya pakai itu MS Access ... berarti pakai cara yg disarankan mr. tukangcoding ini harusnya bisa jalan yah ... lagi saya coba2 nih @yafie : DBImage bisa kok dibuat load picture .... waktu compile ngga ada error, cuman kaaynya hanya .bmp yg bisa dimasukin
user image
more 17 years ago

yafie

iya, gw udah coba pake mysql, ternyata lemott juga nih otak buat bikin gituan lama buanget.. dan hasilnya nol besar <disambi ngerjain project sih xixixi> Kayaknya cara paling termudah dibikinin satu folder image, dan yang disimpen dalam database cuman path image-nya. cara ini cukup ampuh soalnya aq gak butuh DBImage lagi. Cukup menggunakan TImage aja udah cukup. Here the code
  
  with Query1 do
  begin
    close;sql.clear;
    sql.Add('select nama_orang,nama_file_foto from data_kita');
    sql.add('where nama_orang = ''yafie''');
    open;
    if recordset.RecordCount > 0 then
    begin
      Image1.Picture.LoadFromFile(FieldValues['nama_file_foto']);
    end;
    close;
  end;
user image
more 17 years ago

shindo

wah iya ya ... kalau pakai simpan foto nya kayanya emang jadi gede datanya ... harus diperhitungkan seperti nya kalau data access, karena access kalau file nya besar kan jadi lama ...
more ...
  • Pages:
  • 1
  • 2
Share to

AI Forward

🚀 We're thrilled to partner with Alibaba Cloud for "AI Forward - Alibaba Cloud Global Developer Summit 2025" in Jakarta! Join us and explore the future of AI. Register now: https://int.alibabacloud.com/m/1000400772/
#AlibabaCloud #DeveloperSummit #Jakarta #AIFORWARD

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com