關於GDI+中Image類的問題


最近在做一個錄像回放器,由於之前的添加資源問題(未能成功添加動態.gif文件),現在改用一張圖一張圖畫的方式。前期調試都沒有問題,release之后雙擊打開.exe 讀取文件 能正常運行  但是,如果把錄像文件拖到.exe上打開 程序中動畫的那個標簽一開始就掛掉了 很詭異 然后查了半天 發現只要 用 Image 類創建一個對象 他就掛 注釋掉這句 程序一開始就不掛 可問題是我整個動畫中的圖片都是 Image 類的對象。。。 不知道是什么問題 我的代碼是這樣的 不過我覺得和代碼好像沒什么關系

void table3::OnPaint()
{
CDialog::OnPaint();

   CDC *pDC=GetDC();
   HDC hdc=pDC->GetSafeHdc();
   Graphics graphics(hdc);
  
    CString InitBlood(L"\\res\\blood2.gif");
    InitBlood = CurrentAddress + InitBlood;
    wchar_t WInitBlood[200];
    MultiByteToWideChar(CP_ACP, 0, InitBlood, -1, WInitBlood, 200);
   
  CString InitEnergy(L"\\res\\energy1.gif");
  InitEnergy = CurrentAddress + InitEnergy;
  wchar_t WInitEnergy[200];
  MultiByteToWideChar(CP_ACP, 0, InitEnergy, -1, WInitEnergy, 200);
 
  CString Welcome(L"\\res\\welcome.gif");
  Welcome = CurrentAddress + Welcome;
  wchar_t WWelcome[200];
  MultiByteToWideChar(CP_ACP, 0, Welcome, -1, WWelcome, 200);

Image Test(L"C:\\Users\\lenovo\\Desktop\\replay.08sav3\\out\\res\\chart.bmp");
   Image InitRedLeft(WInitBlood);
   Image InitRedRight(WInitBlood);
   Image InitBlueLeft(WInitEnergy);
   Image InitBlueRight(WInitEnergy);
    
     graphics.DrawImage(&InitRedLeft,Point(170,100));
     graphics.DrawImage(&InitRedRight,Point(420,100));
     graphics.DrawImage(&InitBlueLeft,Point(170,140));
     graphics.DrawImage(&InitBlueRight,Point(420,140));
    
     Image WelcomeImage(WWelcome);
     graphics.DrawImage(&WelcomeImage,Point(120,210));

關鍵問題就是 雙擊打開正常運行 拖文件上去就部分掛掉。。。 求高手指點

9 个解决方案

#1


肯定是你邏輯的地方指針有問題~
你還要判斷Image構造出來是否為Ok

#2


其實有可疑顯示動態GIF動畫的類,我有,給個郵箱

#3


up

#4


注意一下拖放的時候,文件路徑的問題.

#5


引用 4 樓 wuxinyang 的回復:
注意一下拖放的時候,文件路徑的問題.


路徑應該沒有問題 因為我這里一共三個標簽 前2個標簽是可以顯示數據的 說明路徑正確

#6


呃,像這種問題只有一步一步的跟蹤調試,沒有什么好辦法.

#7


引用 2 樓 wu_qing_yun 的回復:
其實有可疑顯示動態GIF動畫的類,我有,給個郵箱


這種類我也找到過 但是在添加資源的時候有問題 我用VS2008 剛建好工程 添加資源 那個.gif的動畫文件就變大了 而且只能顯示第一幀了。。。 很詭異 這個問題我前兩天剛提過 不知道你這邊是怎么添加資源的?? 跪求

#8


引用 6 樓 wuxinyang 的回復:
呃,像這種問題只有一步一步的跟蹤調試,沒有什么好辦法.


我再試試吧。。。

#9


引用 8 樓 klldmofashi 的回復:
程序中動畫的那個標簽一開始就掛掉了


沒有出錯提示程序崩了???建議在調試器中檢查

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com