备注:本文所有操作都是基于Windows的位图句柄HBITMAP的。
1、首先,VC++为了支持多图片格式,我引用了GDI+来加载各种图像。
GDI+使用前,切记:
#include <GdiPlus.h>
#pragma comment (lib,"GdiPlus")
程序开始时:
Gdiplus::GdiplusStartup(&m_pGdiplus,&m_GdiplusSt,NULL);
程序终止前:
Gdiplus::GdiplusShutdown(m_pGdiplus);
2、图像的分割实现,主要方法就是把图像的句柄放到一个内存兼容DC上,再创建一个内存兼容DC和一个内存兼容位图句柄,通过BitBlt你想怎么切都可以,实际上就是一个DC区域拷贝的问题。
贴代码:
HBITMAP CImageDemoDlg::GetBitmapRect( HDC hDC, const CRect& rect )
{
ASSERT(hDC);
HDC hDesDC=NULL;
hDesDC=CreateCompatibleDC(hDC

本文介绍如何在VC++中利用GDI+加载和处理图像,包括图像分割和彩色转灰度。通过创建内存兼容DC进行图像切割,使用GetBitmapBits与SetBitmapBits进行灰度转换。同时,文章提供了统计黑白像素点数量和比例的方法,并在OnDraw中展示处理结果。附带源码下载链接。
最低0.47元/天 解锁文章
1250

被折叠的 条评论
为什么被折叠?



