源代码如下:
StretchDIBits(GetDC()->m_hDC,0,0,640,480,
0,0,m_infoHeader->biWidth,m_infoHeader->biHeight,m_buff,
(BITMAPINFO *)m_infoHeader,DIB_RGB_COLORS,SRCCOPY);
a.当我的m_buff读入的位图尺寸少于,640*480时,会放大变模糊
b.当m_buff读入位图等于640*480时,正常
c.当m_buff读入位图大于640*480时,出现些怪异的斑纹,特别当m_buff很大时,斑纹更吓人我想解决的问题是:
当m_buff读入位图大于640*480时,也能得到近似b的效果
m_buff读入位图最大可能为2560*1920
谢谢
StretchDIBits(GetDC()->m_hDC,0,0,640,480,
0,0,m_infoHeader->biWidth,m_infoHeader->biHeight,m_buff,
(BITMAPINFO *)m_infoHeader,DIB_RGB_COLORS,SRCCOPY);
a.当我的m_buff读入的位图尺寸少于,640*480时,会放大变模糊
b.当m_buff读入位图等于640*480时,正常
c.当m_buff读入位图大于640*480时,出现些怪异的斑纹,特别当m_buff很大时,斑纹更吓人我想解决的问题是:
当m_buff读入位图大于640*480时,也能得到近似b的效果
m_buff读入位图最大可能为2560*1920
谢谢
解决方案 »
- 为什么窗口不显示啊,求高手解答~!
- 关于网上购买的支付方式,如网银购买,手机方式购买,怎么做? 手机购买 (支持中国移动和中国联通手机) 网上银行卡购买(支持全国各类银行卡:方便安全)
- 怎么能得到clistctrl的标题行的高度?
- VC6.0关于DATAGRID的不同列设置不同颜色的问题
- 武汉,找工作
- 想问一下大家,以下这些问题涉及到哪些专业课程??
- 大家好,请教一个在对话框窗口内部绘图的问题!!!
- 搞信息安去,杀毒的活,一般要掌握啥开发工具?,在中国前景如何?
- 一个小女子无助。。。。
- 急寻springofcn(风中飘扬) ,还是关于progect的settings问题!!!
- RDP/ICA打印怎么回事?
- 服务器控制带宽问题
SetStretchBltMode(GetDC()->m_hDC,HALFTONE)?
这个还是不行
一定要放在调用StretchDIBits之前。
还有其他一些插值算法,多尝试一下,不同的图像类型,插值算法的选择是很重要的,总体来说HALFTONE效果比较好,但是不见得总是这样
试完了,还是不行
我试着用CBitmap+CClientDC来写
m_buff:(得到位图像素数据)
m_infoHeader:(得到BITMAPINFOHEADER数据)
下面这段代码有错么?
CClientDC dc(this);
CDC cdc;
cdc.CreateCompatibleDC((CDC*)&dc);
CBitmap tempBit;
tempBit.CreateBitmap(m_infoHeader->biWidth,
m_infoHeader->biWidth,
m_infoHeader->biPlanes,
m_infoHeader->biBitCount,
(void*)m_buff);
CBitmap* oldBit=(CBitmap*)cdc.SelectObject(&tempBit);
dc.StretchBlt(0,0,640,480,&cdc,0,0,
m_infoHeader->biWidth,m_infoHeader->biHeight,
SRCCOPY);
cdc.DeleteDC();