VC2010“添加资源-引入JPG图片”会改变图片大小
生活随笔
收集整理的這篇文章主要介紹了
VC2010“添加资源-引入JPG图片”会改变图片大小
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
結論: 通過VC2010添加JPG圖片(添加資源->引入jpg圖片)會改變圖片大小。
本身只是為了想給對話框添加一個背景圖片,試了下bmp的,都沒有問題。
為了測試下是否可以加載(用LoadImage)jpg圖片(作為背景色),我用如下代碼試了下:
BOOL CdelDlg::OnEraseBkgnd(CDC* pDC) {HBITMAP hBitmap;//CString imgPath = L"res\\11.jpg";CString imgPath = L"E:\\cc.jpg";// CString imgPath = "E:\\Program\\VC\\d\\res\\11.jpg";hBitmap = (HBITMAP)LoadImage(AfxGetInstanceHandle(), imgPath, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_DEFAULTCOLOR|LR_SHARED);DWORD err = GetLastError();TRACE("%d\n", err);if(hBitmap){CRect rect;CBitmap img, *pOldBmp;BITMAP bmp;CDC dcMem;CPaintDC dc(this);img.m_hObject = hBitmap;img.GetBitmap(&bmp);GetClientRect(&rect);dcMem.CreateCompatibleDC(&dc);pOldBmp = dcMem.SelectObject(&img);dc.StretchBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, bmp.bmWidth, bmp.bmHeight, SRCCOPY);//dc.BitBlt(0, 0, rect.Width(), rect.Height(), &dcMem, 0, 0, SRCCOPY);dc.SelectObject(pOldBmp);return TRUE;}else{MessageBox(L"No");return CDialogEx::OnEraseBkgnd(pDC);} }第一次LoadImage失敗了。
第二次,我先通過添加資源->引入jpg圖片,再重新編譯程序,發現圖片加載成功了!!這可真是奇怪呀!
后來想到,有可能是圖片被修改過了。仔細對比添加資源前后的圖片,發現文件雖然尺寸沒變,但是大小確實是變化了(一個43.5KB的圖片變成了530KB)。
結論:通過VC2010添加JPG圖片(添加資源->引入jpg圖片)會改變圖片大小。
總結
以上是生活随笔為你收集整理的VC2010“添加资源-引入JPG图片”会改变图片大小的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 博鳌直击 | 区块链在互联网金融中扮演怎
- 下一篇: 力争营收渠道多样化,Line 向自拍应用