OpenPictureDialog發生錯誤的問題!! |
答題得分者是:dean
|
wallaces528
一般會員 發表:4 回覆:5 積分:1 註冊:2004-04-06 發送簡訊給我 |
請教各位 以下是OpenDialog 的元件的 Filer 設定的預設值.. All (*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf)|*.jpg;*.jpeg;*.bmp;*.ico;*.emf;*.wmf|JPEG Image File (*.jpg)|*.jpg|JPEG Image File (*.jpeg)|*.jpeg|Bitmaps (*.bmp)|*.bmp|Icons (*.ico)|*.ico|Enhanced Metafiles (*.emf)|*.emf|Metafiles (*.wmf)|*.wmf 設定好了之後!!但是在run的時候發現..
1.在開啟時,並不是所有的圖檔格式都會出現.
2.重新寫另外一個程式在開圖檔時,可以開啟所有種類的圖檔,但是在開啟.jpg檔的時候有時是正常,但是有的時候確會出現錯誤訊息!!如下:
Project project1.exe raised exception class EJPEG with message 'JPEG error #52'. Process stopped. Use Steop or Run to continue. 請問要如何解決呢? 程式如下
void __fastcall TForm1::LoadPictureClick(TObject *Sender)
{
if(OpenPictureDialog1->Execute())
{
Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);
}
} 謝謝..
或是哪邊有開啟圖檔的教學文章或是完整的範例.. 發表人 - taishyang 於 2004/05/13 15:23:03
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
wallaces528你好: OpenDialog 不是萬能的,它的功能是選取檔案名稱,真正開啟檔案的
是Image1->Picture->LoadFromFile,BCB裡這個指令只能開始bitmap
之類的檔案,如果要開jpeg,gif..等等檔案,必須使用另外一種方法
才可以開啟,那個錯誤訊息意思是,loadfromfile開不了jpeg檔。 站內有很多開圖檔的文章和發表程式,建議你搜尋一下 【問題】關於bmp檔轉JPEG檔原理
http://delphi.ktop.com.tw/topic.php?topic_id=48593
【BCB】【問題】BCB 好像沒支援JPEG 圖檔
http://delphi.ktop.com.tw/topic.php?topic_id=26041 發表人 - jerrykuo 於 2004/05/13 16:01:17
|
wallaces528
一般會員 發表:4 回覆:5 積分:1 註冊:2004-04-06 發送簡訊給我 |
|
dean
一般會員 發表:24 回覆:60 積分:21 註冊:2003-08-23 發送簡訊給我 |
WALLACES528您好:
在OPENDIALOG中有一個FILTERINDEX可以選擇您的圖檔。
有了FILTERINDEX您可以知道圖檔的編碼!就可以用下面去做判斷式
if (OpenPictureDialog1->Execute()) { if (OpenPictureDialog1->FilterIndex==1) //如BMP ..... if (OpenPictureDialog1->FilterIndex==2) //如JPG }**我很想學,但又很不懂,所以一直問蠢問題,希望不要不屑我的問題,嘻嘻嘻** |
wallaces528
一般會員 發表:4 回覆:5 積分:1 註冊:2004-04-06 發送簡訊給我 |
|
wallaces528
一般會員 發表:4 回覆:5 積分:1 註冊:2004-04-06 發送簡訊給我 |
引言: WALLACES528您好: 在OPENDIALOG中有一個FILTERINDEX可以選擇您的圖檔。 有了FILTERINDEX您可以知道圖檔的編碼!就可以用下面去做判斷式非常感謝Dean前輩的方法 我根據他的方法更改了程式如下 void __fastcall TForm1::Open1Click(TObject *Sender) { TJPEGImage *Jpg = new TJPEGImage;; if (OpenPictureDialog1->Execute()) { if (OpenPictureDialog1->FilterIndex==1) { // Image1->AutoSize = true; Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName); } else if (OpenPictureDialog1->FilterIndex==0 ) { Jpg->LoadFromFile(OpenPictureDialog1->FileName); Image1->Picture->Bitmap->Assign(Jpg); } } } 已經OK了,之前有問題是出在filterindex上.. 謝謝..if (OpenPictureDialog1->Execute()) { if (OpenPictureDialog1->FilterIndex==1) //如BMP ..... if (OpenPictureDialog1->FilterIndex==2) //如JPG }**我很想學,但又很不懂,所以一直問蠢問題,希望不要不屑我的問題,嘻嘻嘻** |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |