Arsip: bagaimana cara menggunakan DBImage buat masukin image JPG ?

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

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

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

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 ?

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

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.

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.

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

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;

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
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
- Blog untuk member....
by deLogic in Kritik & Saran more 19 years ago - Cara mengakses table paradox berpassword..??
by pribadi in Paradox more 19 years ago - tipe tform jadi convert ke string??
by imunk in Delphi.NET more 18 years ago - Membuat aplikasi database multi tier
by utuhhirang in Network, Files, I/O & System more 16 years ago - Filter Input TEdit
by trisis in Tip n Trik Pemrograman more 16 years ago - fungsi tanggal
by yayaretina in Enginering more 18 years ago - help mo masukin itemindex diradiogroup ke DB
by tegecool in Bedah Kasus more 16 years ago - Open Source ada di sini...
by eksant in OpenSource dan Gratis more 18 years ago - Print di Quick Report dari file txt
by irene in Reporting more 16 years ago - Printing dengan Assignfile????
by wati in Tip n Trik Pemrograman more 18 years ago