hur.cn - 华软网

 热门搜索

SetDIBitsToDevice怎么压缩图片在picture中显示

  作者:未知    来源:网络    更新时间:2011/9/8
我用
C++">
SetStretchBltMode(hdc,HALFTONE);
SetDIBitsToDevice(
hdc,0,0,
pVih->bmiHeader.biWidth,
pVih->bmiHeader.biHeight,
0,0,
0,
pVih->bmiHeader.biHeight,
pBuffer,
(BITMAPINFO*)&pVih->bmiHeader,
DIB_RGB_COLORS
);

将缓存中的图片显示在picture中,hdc传的是(CStatic *)GetDlgItem(IDC_STATIC1))->GetDC()->m_hDC这样一个picture的,然后我存入缓存中的图片大小是768×576的,可是我想让它在一个50×50的picture控件中显示,应该怎么样做修改使其压缩呀,谢谢
---华软 网友回答---
缩放是StretchDIBits 干的活。
---华软网友回复---
引用 1 楼 laviewpbt 的回复:
缩放是StretchDIBits 干的活。

能具体点么,谢谢
---华软网友回复---
楼上的就不会用搜索引擎,现在已经是网络时代了,不像我开始学程序的时候,要啥没啥,只能买参考书,现在用不着了,直接搜索就好了,像这种基础问题,网络上一搜一片,就算1楼给你回答了用法,也远远不如网络上搜到的详细。
---华软网友回复---
不行那,我这样用
StretchDIBits(hdc,0,0,100,100,0,0,pVih->bmiHeader.biWidth,pVih->bmiHeader.biHeight,pBuffer,(BITMAPINFO*)&pVih->bmiHeader,DIB_RGB_COLORS,PATCOPY);
结果它就是在picture区域0,0,100,100这个长宽地方就显示我图片的左上角100,100长宽的区域,等于是裁剪了,没有缩小
---华软网友回复---
问题解决
StretchDIBits(hdc,0,0,100,100,0,0,pVih->bmiHeader.biWidth,pVih->bmiHeader.biHeight,pBuffer,(BITMAPINFO*)&pVih->bmiHeader,DIB_RGB_COLORS,SRCCOPY);
---华软网友回复---
用SRCCOPY替换PATCOPY      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。