图形学习
文章平均质量分 76
天上的猩猩Y
好好学习,天天向上!
展开
-
MFC-设备坐标和逻辑坐标
MFC-设备坐标和逻辑坐标2009-04-07 15:28Windows应用程序绘制图形时使用的是一种逻辑单位,每个逻辑单位的大小由映射模式决定,这个逻辑单位既可以与设备单位(屏幕或打印机上的一个像素点)相同,也可以是一种物理单位(如毫米),还可以是用户自定义的一种单位。在Windows应用程序中,只要与输出有关系,都要使用映射模式。本文的目的是帮助读者了解映射模式转载 2016-02-17 17:49:54 · 1047 阅读 · 0 评论 -
VS2008中配置GDI+
VS2008中包含GDI+的开发包,配置相对简单。对每个需要使用GDI+的项目,都必须使用同样地方法进行配置。1、在项目属性中添加GDI+静态链接库选择【项目】->【Example属性】(Example为项目名称),打开项目属性对话框。展开“配置属性”,选择“连接器”下面的“输入”,然后在“附加依赖项”中添加“gdiplus.lib”,要想在Release模式下程序也能正常编译,只转载 2016-04-21 15:37:17 · 637 阅读 · 0 评论 -
LockBits in GDI+
什么东西一旦追求起效率来最终还是要归到比较底层的操作,比如 GDI 中直接操作位图数据就要用 GetDIBits / SetDIBits(或者已经废弃的 GetBitmapBits / SetBitmapBits)。因为最近要处理的都是 GDI 处理不了的 PNG 格式图片,所以还是用上了 GDI+。GDI+ 中直接操作 Bitmap 的数据就要用 LockBits / UnlockBits转载 2016-06-03 10:01:05 · 3553 阅读 · 2 评论 -
RGB888转RGB565
今天在REVIEW代码的时候,发现了这样一个宏定义:#define COLOR_TO_MTK_COLOR_SIMUL(color) ((((color) >> 19) & 0x1f) |((((color) >> 10) & 0x3f)转载 2016-06-07 17:53:01 · 1414 阅读 · 0 评论 -
bitmap格式分析
转自:http://redwolf.blog.51cto.com/427621/229096最近正在着手开发一个图片库,也就是实现对常见图片格式的度写操作。作为总结与积累,我会把这些图片格式以及加载的实现写在我的Blog上。说到图片,位图(Bitmap)当然是最简单的,它Windows显示图片的基本格式,其文件扩展名为*.BMP。在Windows下,任何各式的图片文件(包括视频播放转载 2016-06-02 17:56:49 · 1246 阅读 · 0 评论 -
CBitmap和HBITMAP的区别及相互转换方法
hbitmap是bitmap的指针,msdn中:Handle to a bitmap.typedef HANDLE HBITMAP;cbitmap是mfc中封装bitmap的类;msdn中: Encapsulates(囊括) a Windows graphics device interface (GDI) bitmap and provides m转载 2016-05-20 17:24:35 · 5986 阅读 · 0 评论 -
位图信息头BITMAPINFOHEADER
位图信息头BITMAPINFOHEADER,也是一个结构,其定义如下:typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount DWORD biCompression; DWORD biSiz转载 2016-05-16 16:58:08 · 15014 阅读 · 1 评论 -
vc 位图操作 BITMAPINFO 赋值
vc 位图操作 BITMAPINFO 赋值BMP 文件结构分成以下几个部分:1 BITMAP FILEHEADER (BMP 文件头)2 BITMAP INFOHEADER (BMP 文件信息头)3 RGBQUAD (BMP 文件调色板)4 BITMAP DATA (BMP 文件数据)Windows 中位图有两种格式:设备相关位图 Device Depend B转载 2016-05-16 16:13:31 · 4691 阅读 · 0 评论 -
几种绘制半透明多边形/绘制半透明矩形的方法
1、GDI 步骤1)创建内存兼容DC HDC hBitmapDC = CreateCompatibleDC(hDC); HBITMAP hBitmap = CreateCompatibleBitmap(hDC, rt.Width(), rt.Height()); SelectObject(hBitmapDC,hBitmap);转载 2016-04-22 14:21:05 · 6550 阅读 · 0 评论 -
使用“橡皮筋类”画可再次移动修改的图形
CRectTracker是Windows提供的一个很强大的类。上图中所画的图形都是通过使用橡皮筋类画的。通过再次改变八个点的位置,可以再次改变图形的形状与大小。以上所有的功能都在实例中进行了实现。实例下载地址:http://download.csdn.net/detail/qq_23992597/9385575原创 2015-12-31 15:04:27 · 928 阅读 · 0 评论 -
利用crecttracker画图,并可以串行化保存!
以前有发过一篇利用crecttracker画图的博客,这次是对上次的资源进行了再一次的升级。让所画出的图形可以永久保存到磁盘上。并可以再次重磁盘上读取。示例下载连接:http://download.csdn.net/detail/qq_23992597/9421807如果下载后发现有BUG,或者不明白的地方,可以再我的博客下留言。有时间的话我会回复的!原创 2016-01-29 10:36:25 · 820 阅读 · 0 评论 -
SetWindowOrg和SetViewportOrg这两个函数到底应该如何理解
http://xqscorpion.bokee.com/5172295.html最近突然又很有激情的开始看Jeff Prosise的那本"Programming Windows with MFC, 2 ed."。尽管是英文版的,但是感觉这本书上手比喉结的那本所谓的 深入浅出MFC 要容易理解的多。候同学给人一种故弄玄虚故作深沉的感觉,而Jeff Prosise的这本书才真正的称得上是深入浅出。转载 2016-02-18 10:32:36 · 554 阅读 · 0 评论 -
DPtoLP和LPtoDP && ScreenToClient和ClientToScreen
版权声明:本文为博主原创文章,未经博主允许不得转载。 设备坐标(Device Coordinate)又称为物理坐标(Physical Coordinate),是指输出设备上的坐标。通常将屏幕上的设备坐标称为屏幕坐标。设备坐标用对象距离窗口左上角的水平距离和垂直距离来指定对象的位置,是以像素为单位来表示的,设备坐标的X轴向右为正,Y轴向下为正,坐标原点位于窗口的左上角。转载 2016-02-18 10:29:41 · 2462 阅读 · 0 评论 -
MFC画正圆
用CDC画椭圆实现,圆是特殊的椭圆而已。[cpp] view plaincopyprint?void DrawCircle(CDC* pDC,CRect rect) { int rx,ry; //找出大一些的直径 if (rect.right { rx= rect.left;转载 2015-12-30 11:07:49 · 4669 阅读 · 0 评论 -
DrawCli代码中双缓冲,裁剪区技术以及坐标变换等技术分析
目录(?)[-]程序代码双缓冲技术裁剪区坐标变换DrawCli代码中使用了双缓冲和裁剪区技术以及坐标变换等技术。DrawCli中2个主要绘图相关的函数: OnDraw和OnPrepareDC。OnPreparDC的作用是设置坐标的映射方式和窗口原点。由于程序使用了MM_ANISOTROPIC 映射方式,同时设置了X的正方向向右,Y轴的正方向向上。为了便于分析转载 2016-02-17 17:32:39 · 534 阅读 · 0 评论 -
VC中在SCrollView画图中容易出现的错误
1:画图时有GDI和GDI+混用时,在使用GDI+的地方要加上OnPrepareDC()函数,不然坐标会一直保持为设备坐标,而不是逻辑极坐标.2:绘图时闪烁,使用双缓冲绘图技术,要设定 pDC->SetViewportOrg(0, 0); pDC->SetWindowOrg(0, 0); pDC->SetMapMode(MM_TEXT); dcMem.SetViewportOrg原创 2017-03-17 20:36:32 · 1539 阅读 · 0 评论