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

如何判斷圖片是否為GIF

答題得分者是:supman
chocj
一般會員


發表:10
回覆:5
積分:3
註冊:2004-01-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-02 14:36:43 IP:140.116.xxx.xxx 未訂閱
當然用ExtractFileExt可以偵測副檔名是否為GIF 可是我遇到的問題是, 使用者把GIF副檔名改為JPG 這樣我圖到該圖時就會ERROR if(ExtractFileExt(OpenPictureDialog1->FileName).UpperCase()==".JPG" || ExtractFileExt(OpenPictureDialog1->FileName).UpperCase()==".JPEG") { TJPEGImage *jpg=new TJPEGImage; jpg->LoadFromFile(OpenPictureDialog1->FileName); //... } 想請問是否有可以判斷該圖是否為GIF圖檔資訊之方法? 如EXIF或如何安裝BCB GIF函式 或LoafFromFile錯誤時時可以自動略過錯誤 謝謝 發表人 - chocj 於 2005/06/02 14:41:22
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-02 15:00:27 IP:61.70.xxx.xxx 未訂閱
您好: 使用try catch捕捉錯誤就好了.
chocj
一般會員


發表:10
回覆:5
積分:3
註冊:2004-01-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-02 15:52:18 IP:140.116.xxx.xxx 未訂閱
謝謝SUPMAN大 這我之前有試過,以下是我的測試原碼 GIF的附檔名為JPG之圖檔本網頁左上角就有SMILE可以抓    也很有可能是我那邊寫錯,還請指教!    //---------------------------------------------------------------------------    #include  #pragma hdrstop #include #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { if ( OpenPictureDialog1->Execute() ) { try { Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName); Image1->AutoSize=true; Image1->Stretch=true; } catch(Exception &e) { int i=0; } } } //PO文章時空白怎麼加入呀 ~><~
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-02 19:18:48 IP:210.68.xxx.xxx 未訂閱
您好:    PO程式碼的方式請參考版規說明,煩請修改謝謝您的配合 >
supman
尊榮會員


發表:29
回覆:770
積分:924
註冊:2002-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-02 19:33:09 IP:203.204.xxx.xxx 未訂閱
您好: 我測試是沒問題阿,可能是因為設計時期,BCB會秀出錯誤訊息,所以您認為會有錯誤訊息,如果您沒在BCB環境中,自己去執行那各執行檔,應該不會有錯誤才對
  if ( OpenDialog1->Execute() )
  {
    try
    {
      Image1->Picture->LoadFromFile(OpenDialog1->FileName);
      Image1->AutoSize=true;
      Image1->Stretch=true;
    }
    catch(Exception &e)
    {
     ShowMessage("錯誤喔");
    }
  }
chocj
一般會員


發表:10
回覆:5
積分:3
註冊:2004-01-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-02 22:12:28 IP:140.116.xxx.xxx 未訂閱
引言: 您好: 我測試是沒問題阿,可能是因為設計時期,BCB會秀出錯誤訊息,所以您認為會有錯誤訊息,如果您沒在BCB環境中,自己去執行那各執行檔,應該不會有錯誤才對
  if ( OpenDialog1->Execute() )
  {
    try
    {
      Image1->Picture->LoadFromFile(OpenDialog1->FileName);
      Image1->AutoSize=true;
      Image1->Stretch=true;
    }
    catch(Exception &e)
    {
     ShowMessage("錯誤喔");
    }
  }
果然是這樣沒錯, 自己要多加強! ~><~
系統時間:2024-05-03 9:19:53
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!