
图像编程
zyrr159487
这个作者很懒,什么都没留下…
展开
-
位图疑难解析
有次接到一个关于图形操作的任务,在概念上纠结了很久,幸而得到很多前辈的指定。整理如下:此处是原帖1:http://topic.youkuaiyun.com/u/20100809/23/651b2840-2643-49c3-a77d-8acb7f9758a7.html此处是原帖2:http://topic.youkuaiyun.com/u/20100820/15/ed5d9990-e44e-4f原创 2011-11-29 16:55:04 · 727 阅读 · 0 评论 -
CBITMAP转为BYTE数组
//用GetBitmap获得图像数据大小 //用GetBitmapBits获得数据数组 BITMAP temBmp; pBmp->GetBitmap(&temBmp); iDataSize = ((temBmp.bmWidth + 31 ) / 32 * 4) * temBmp.bmHeight;//图像数据大小 pBmp->GetBitmapBits(iDataSize, p原创 2012-01-10 11:48:08 · 1769 阅读 · 0 评论 -
HBITMAP和CBitmap的互相转换
1 HBITMAP转成CBitmapHBITMAP hBmp; 方法①CBitmap* pBmp = CBitmap::FromHandle(hBmp); 方法②CBitmap bmp; bmp.Attach(hBmp); 方法①转换出来的临时CBitmap对象似乎并不是可靠的!MSDN上说这个临时只在某一时间段内有效。等到某个空闲的时候,这个临时CBit转载 2011-12-29 13:59:37 · 3998 阅读 · 0 评论 -
绘制多边形
CBPoint FirstPt;FirstPt = EndPt;pDC->MoveTo((int)(FirstPt.x),(int)( FirstPt.y));double fsin = sin(TWO_PI / iPolygonsides);double fcos = cos(TWO_PI / iPolygonsides); for (int i = 1 ; i < iPolygons原创 2011-12-27 13:23:30 · 720 阅读 · 0 评论 -
绘制矩形时按下SHIFT则绘制正方形
//按下SHIFT时绘制正方形if(GetKeyState(VK_SHIFT) & PRESSED){ double dDistX = tempPoint.x - StartPt.x; double dDistY = tempPoint.y - StartPt.y; //判断较短的边 if(fabs(dDistX) < fabs(dDistY)) {原创 2011-12-27 13:25:32 · 1597 阅读 · 0 评论 -
BMP文件格式分析
前两天要做一个读取bmp文件的小程序,顺便查找了一些关于BMP格式的文章,现在post上来。简介BMP(Bitmap -File)图形文件是Windows采用的图形文件格式,在Windows环境下运行的所有图象处理软件都支持BMP图象文件格式。Windows系统内部各图像绘制操作都是以BMP为基础的。Windows 3.0以前的BMP图文件格式与显示设备有关,因此把这种BMP图象文转载 2011-12-07 09:12:34 · 729 阅读 · 0 评论 -
如何放大ICON至48*48
如何将ICON放大至48*48显示,系统默认ICON最高是32*32答:所以不能用LoadIcon载入,因为载入后自动存为32*32这种系统默认应该用LoadImage();LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, 32, 32, 0);然后用DrawIconEx(),而不能原创 2011-11-03 14:41:22 · 1796 阅读 · 0 评论 -
显示图形如何避免闪烁
显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。 MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。 我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。 1、显示的图形为什么会闪烁?转载 2011-11-25 15:19:55 · 779 阅读 · 1 评论 -
关于图像基本常识
1. 位图图像 位图图像也叫作栅格图像,Photoshop 以及其他的绘图软件一般都使用位图图像。位图图像由像素组成,每个像素都被分配一个特定位置和颜色值。在处理位图图像时,您编辑的是像素而不是对象或形状,也就是说,编辑的是每一个点。 位图图像与分辨率有关,即在一定面积的图像上包含有固定数量的像素。因此,如果在屏幕上以较大的倍数放大显示图像,或以过低的分辨率打印,位图图像会出现转载 2011-11-25 15:22:41 · 993 阅读 · 0 评论 -
位图操作集合
一、 显示位图在Visual C++6.0中,显示位图的方法及过程如下: 1. 显示程序资源中的位图(位图的所有数据均存在于可执行文件中) (1)从资源中装入位图 ● 定义位图对象数据成员CBitmap m_Bitmap; ● 调用CBitmap成员函数LoadBitmap(),如m_Bitmap.LoadBitmap(IDB_BITMAP1); ● 传入LoadBit转载 2011-11-26 09:28:49 · 867 阅读 · 0 评论 -
图像编程常识
1 载入ICONHICON hicon = NULL;hicon = ::LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_LOCK));((CButton*)GetDlgItem(IDC_KEEPRATIO))->SetIcon(hicon);2 平面内坐标旋转公式任意一点A(ax,ay),按旋转中心点(x,y)逆时针旋转原创 2011-12-29 14:00:54 · 664 阅读 · 0 评论