CPictureEX类的一个扩展或修改(图片的放大与缩小)
2011-06-26 05:28
836 查看
VC6.0的MFC下,只能够显示bmp格式的位图,作为第三方的CPitureEX类,提供了显示gif、jpg等图片格式的图像,极大的方便了我们 的编程,在这里,感谢author。
在这里介绍实现图片的放大与缩小,主要是在CPictureEX::OPaint下修改。即用StrechBlt替换BitBlt
具体为:
void CPictureEx::OnPaint()
{
CPaintDC dc(this); // device context for painting
LONG nPaintWidth = m_PaintRect.right-m_PaintRect.left;
LONG nPaintHeight = m_PaintRect.bottom - m_PaintRect.top;
SIZE size = GetSize();
// ::BitBlt(dc.m_hDC, 0, 0, nPaintWidth, nPaintHeight,
// m_hMemDC, m_PaintRect.left, m_PaintRect.top, SRCCOPY);
::SetStretchBltMode(dc.m_hDC,COLORONCOLOR);
::StretchBlt(dc.m_hDC,0,0,(int)(size.cx*0.5),(int)(size.cy*0.5),m_hMemDC,0,0,size.cx,size.cy,SRCCOPY);
}
在这里介绍实现图片的放大与缩小,主要是在CPictureEX::OPaint下修改。即用StrechBlt替换BitBlt
具体为:
void CPictureEx::OnPaint()
{
CPaintDC dc(this); // device context for painting
LONG nPaintWidth = m_PaintRect.right-m_PaintRect.left;
LONG nPaintHeight = m_PaintRect.bottom - m_PaintRect.top;
SIZE size = GetSize();
// ::BitBlt(dc.m_hDC, 0, 0, nPaintWidth, nPaintHeight,
// m_hMemDC, m_PaintRect.left, m_PaintRect.top, SRCCOPY);
::SetStretchBltMode(dc.m_hDC,COLORONCOLOR);
::StretchBlt(dc.m_hDC,0,0,(int)(size.cx*0.5),(int)(size.cy*0.5),m_hMemDC,0,0,size.cx,size.cy,SRCCOPY);
}
相关文章推荐
- CPictureEX类的一个扩展或修改(图片的放大与缩小)
- android两种方式中自己画一个圆,实现单点触控时拖动图片,跟着拖动点走,并且可以放大或缩小
- 给大家分享一个图片双击放大,双击缩小的第三方库
- iOS做一个iPhone相册,每个图片都能放大缩小并且翻到第⼆张图时,再翻回来就变成原来的大 ⼩.使⽤UIPageControl与UIScrollView结合.
- PhotoSwipe-一个好用的图片放大缩小插件
- android 如何利用手势放大和缩小一个图片?
- canvas画一个图片,并实现点击按钮上移下移左移右移放大缩小
- hammer使用: 代码:捏合、捏开、图片放大 的一个手机图片“放大缩小可拖动”的小效果
- 图片的修改(上传图片时,做的缩小或放大操作)
- android 自定义ImageView实现图片手势滑动,多点触摸放大缩小效果
- JavaScript 图片拖动 放大 缩小
- 对系统图片进行放大或者缩小
- js模仿新浪微博查看图片放大缩小
- 自定义圆形图片实现多点触控放大缩小和拖动
- itext对水印图片的旋转、放大、缩小等操作的示例
- animation扩展3——xml方式 scale放大缩小
- 对List泛类。修改值的一个简单扩展
- 图像质量评价,图片放大和缩小
- 图片放大缩小