線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1369
推到 Plurk!
推到 Facebook!

讀取 JPG

尚未結案
h5rong
一般會員


發表:32
回覆:44
積分:15
註冊:2003-08-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-27 16:33:34 IP:61.219.xxx.xxx 未訂閱
請教: 本人以 DBImage 讀取 image,若是 bmp 檔,一切正常,其語法如下: TBlobField(qrycom_Photo.fieldbyname('Photo')).LoadfromFile(OpenPictureDialog1.FileName); 但如果 讀取 JPG 檔,就會發生錯誤,請問有無可能,在還未存進 database前,先將JPG 檔,轉成 BMP,再存入 DATABASE
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-27 16:46:38 IP:61.155.xxx.xxx 未訂閱
var Stream:TMemoryStream; jpgstream: TJpegImage ; begin Stream:=TMemoryStream.Create ; jpgstream:= TJPEGImage.Create; DBImage1.Picture.Graphic:=nil; .... TBlobField(Form1.AdoQuery2.FieldByName('tupian') as TBlobField).SaveToStream(Stream); .... Stream.Position := 0; jpgstream.LoadFromStream(Stream); DBImage1.Picture.Assign(jpgstream); Stream.Free; jpgstream.free; end; DBImage 也可以显示jpg
h5rong
一般會員


發表:32
回覆:44
積分:15
註冊:2003-08-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-27 17:22:48 IP:61.219.xxx.xxx 未訂閱
謝謝您的提醒 !!
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-27 17:47:50 IP:61.155.xxx.xxx 未訂閱
如果您想对文件进行转换成bmp存储,那么就用下面的方法;不过我还是建议您使用jpg存储,因为占用的数据库空间也比较少吗?并且有利于检索的速度哦! procedure TForm1.Button3Click(Sender: TObject); var Stream:TfileStream; jpgstream: TJpegImage ; bmp:tBitmap; begin bmp:=tBitmap.Create ; Stream:=Tfilestream.Create('c:\1.jpg',fmopenread) ; jpgstream:= TJPEGImage.Create; try Stream.Position := 0; jpgstream.LoadFromStream(Stream) ; bmp.Assign(jpgstream); bmp.SaveToFile('c:\1.bmp'); finally bmp.Free; Stream.Free; jpgstream.free; end; end;
h5rong
一般會員


發表:32
回覆:44
積分:15
註冊:2003-08-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-27 18:30:51 IP:61.219.xxx.xxx 未訂閱
>如果您想对文件进行转换成bmp存储,那么就用下面的方法;不过我还是建议您>使用jpg存储,因为占用的数据库空间也比较少吗?并且有利于检索的速度哦! 如果我觀念錯誤,還望不吝指正. 據我所知用 dbimage 元件 是無法處理 JPEG 格式的(如果是 for delphi 3,4),所以您是如何辦到的? 謝謝 !!
sos_admin
版主


發表:121
回覆:697
積分:768
註冊:2003-07-23

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-27 18:44:03 IP:61.155.xxx.xxx 未訂閱
據我所知用 dbimage 元件 是無法處理 JPEG 格式的(如果是 for delphi 3,4),所以您是如何辦到的? 謝謝     --------- 我在上面已经给出原码了,可以实现Tdbimage、TQRDBImage等支持jpg格式的文件或数据的显示。 主要还是通过TJpegImage 来处理,然后 DBImage1.Picture.Assign(jpgstream);    就可以实现的,具体方法见上哦
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-27 18:57:43 IP:63.84.xxx.xxx 未訂閱
您好﹗    這里有Justmade版主發表的在資料庫以jpeg儲存經規格化的 bmp/jpg 圖片實作示範 : http://delphi.ktop.com.tw/topic.php?TOPIC_ID=27715    還有這一篇是有關附加元件的資料可直接支援 jpeg 存取: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19482    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
h5rong
一般會員


發表:32
回覆:44
積分:15
註冊:2003-08-27

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-27 21:29:57 IP:61.219.xxx.xxx 未訂閱
Hi !! 真的謝謝大家不厭其煩的解釋, 謝謝 !!
系統時間:2024-06-28 7:39:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!