Arsip: bagaimana cara menggunakan DBImage buat masukin image JPG ?

more 18 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

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

more 18 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 ;)

more 18 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 ?

more 18 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;
...

more 18 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.

more 18 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.

more 18 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

more 18 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;

more 18 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
reply |
Report Obsolete
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
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 4 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 4 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 5 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 12 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 12 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 12 years ago
Random Topic
- gimana cara bikin compact utk file Access (MDB) pd Delphi
by shindo in Hal umum tentang Pascal Indonesia more 17 years ago - Lagiii n Lagiii ...
by Manz in OOT more 17 years ago - Pembulatan angka 500 atau ceiling 500
by cheetoozz in Tip n Trik Pemrograman more 18 years ago - Modify Delphi Standard Component
by delphi_warrior in Form Enhancement & Graphical Controls more 17 years ago - Ekrf dan TopenDialog konflik?
by belajardelphi in Bedah Kasus more 17 years ago - Crystal Report pada Delphi 7
by shindo in Hal umum tentang Pascal Indonesia more 17 years ago - Salam kenal semua .....
by gandungtjakep in OOT more 16 years ago - Setup Dependencies.
by langithitam in Tip n Trik Pemrograman more 17 years ago - menghapus kolom tertentu dalam ListView???
by s373n in Tutorial & Community Project more 16 years ago - ada yang pernah nge trash / debug store procedure di MS SQL
by alvonz in MsSQL more 16 years ago