图形图像
htt9931
这个作者很懒,什么都没留下…
展开
-
绘图性能优化专题
1、绘制时机优化问题:把读图像文件的方法放在了OnDraw之中,发现拖动滚动条闪烁的很严重,原因在于ScrollBar拖动时会产生消息激活OnDraw,这样的话,每拖动滚动条就读一次文件,重绘一次,效率低下解决方案:更换图像后调用UpdateAllViews,内存DC的绘制都放在OnUpdate中操作,在内存绘制好后再在屏幕中贴图。 m_pOldB原创 2012-12-17 22:23:42 · 437 阅读 · 0 评论 -
GDI+学习及代码总结之-----坐标变换、矩阵变换及色彩变换
坐标变换、矩阵变换在Graphics类中,有几个函数实现了简单的坐标变换[cpp] view plaincopyGraphics::TranslateTransform(dx, dy, order)//平移坐标系 Graphics::RotateTransform(angle, order)//旋转坐标系 Graphi转载 2014-06-05 16:24:40 · 798 阅读 · 0 评论 -
GDI+学习及代码总结之------画刷Brush
画刷BrushGDI+中定义了五种画刷类型,他们都派生于Brush类,他们分别是:注意:画刷与画笔不同,画刷只是用来填充区域,所以,画刷无宽度、长度可言。单色画刷SolidBrush一、构造函数[cpp] view plaincopySolidBrush greenBrush(Color(2转载 2014-06-05 16:58:01 · 4788 阅读 · 0 评论 -
WIN32界面开发之DUI雏形开发(一)
前言:这部分涉及工程比较大,所以我打算分开为两篇来写,第一篇完成基本框架的构建,第二篇添加上EVENT和NOTIFY机制。完成目标:仿照DirectUI,完成一个基本雏形,开发一个布局控件(Dialog),和一个按钮控件(Button),通过XML来布局窗体,最后按钮响应点击、鼠标移动等事件信息,用户还可以通过NOTIFY机制来定制,用户具体行为时,界面所要做的动作。给大家看下最终界面吧,转载 2014-06-05 16:51:42 · 904 阅读 · 0 评论 -
GDI+ 双缓冲实现和局部刷新技术
早前曾为此问题在CSDN发帖求助(GDI+ 如何使用双缓冲绘制图像),得到了一个GDI+下较可行的方法,虽然绘制效果比直接绘制要好一些,不过还不能跟GDI的双缓冲方式比肩。现在,我终于找到了一个理想的实现方式,效果与GDI的实现不相上下,代码如下:/*C++ code*/RECT rc;GetClientRect(g_hwnd,&rc);转载 2014-06-05 16:34:19 · 11056 阅读 · 0 评论 -
GDI+在界面开发中遇到的问题汇总
字体相关一、利用UpdateLayeredWindow,在GDI+绘制字体时,FontStyleRegular样式的字体会变成透明,而其它的样式都可以正常显示;问题的原因是:层窗口(WS_EX_LAYERED),用UpdateLayeredWindow输出的文字(用常规方法输出的:TextOut、DrawText、DrawString...),并且设置了AC_SRC_ALP转载 2014-06-05 16:37:32 · 790 阅读 · 0 评论 -
GDI+学习及代码总结之------图像的基本处理
图像的基本操作在GDI+中,对图像的处理主要靠两个类,Image类和Bitmap类,Bitmap类是在Image类的基础上派生出来的。这里主要讲Image类的使用,Image类支持对BMP, GIF, JPEG, PNG, TIFF, 和 EMF,尤其注意,在PNG图像中,包含ALPHA通道,所以能实现不规则图像;一、图像的打开与显示图像打开我们在前言部分已经讲到,转载 2014-06-05 16:26:34 · 1372 阅读 · 0 评论 -
GDI+学习及代码总结之------区域
在GDI+中,对于区域的部分基本上使用了GDI的区域构造函数与合并方法,所以我们先看看GDI中的区域是如何构造与操作的。GDI中区域构建与操作一、基本函数创建矩形区域:[cpp] view plaincopyHRGN CreateRectRgnIndirect(CONST RECT *lprc); HRG转载 2014-06-05 16:22:24 · 1889 阅读 · 0 评论 -
GDI+学习及代码总结之-----画笔
一、构造函数画笔有两个构造函数,分别看下:[cpp] view plaincopyPen( const Color& color, REAL width); Pen( const Brush* brush, REAL width); 注意:第一个构造函数:从一个颜色构造一个单色画笔,平时用的比较多转载 2014-06-05 16:15:42 · 866 阅读 · 0 评论 -
GDI+学习及代码总结之------文本与字体
字体、字体系列基本概念与构造字体系列GDI+中将具有相同字样、包括不同风格的字体称为字体系列。字体从其系列中获得名称、重量(如粗体、规则、加亮)以及风格。例如Arial字体系列包含了下列4种字体:Arial Regular(规则)、Arial Bold(黑体)、Arial Italic(斜体)、Arial Bold Italic(粗斜体);在GDI+中输出文本之转载 2014-06-05 16:20:06 · 2233 阅读 · 2 评论 -
GDI+画笔的使用
画笔常用于绘制图形的轮廓.GDI+的画笔除了具有常见的色彩和宽度属性外,还具有对齐方式,线帽,变换方式等属性。GDI+中通过Pen类来定义画笔对象转载 2014-06-04 16:45:32 · 2481 阅读 · 0 评论 -
GDI+之图像操作
在GDI+中,对图像的处理主要靠两个类,Image类和Bitmap类,Bitmap类是在Image类的基础上派生出来的。这里主要讲Image类的使用,Image类支持对BMP, GIF, JPEG, PNG, TIFF, 和 EMF,尤其注意,在PNG图像中,包含ALPHA通道,所以能实现不规则图像;一、图像的打开与显示图像打开我们在前言部分已经讲到,在GDI+中,对图像的处理转载 2013-07-11 22:34:03 · 4433 阅读 · 0 评论 -
WIN32界面开发之DUI雏形开发(二)
前言:上篇《WIN32界面开发之三:DUI雏形开发(一)》讲解了界面加载框架的创建,但我们的这些控件并没有起到控件的作用,现在还无法响应我们的点击事件和其它事件,所以我们先给我们的框架添加上EVENT事件机制,然后我们再讲解,为什么我们还要加上NOTIFY通知机制,以及如何添加NOTIFY机制。一、添加EVENT事件机制基本思想:以通知某个按钮LButtonDown为例,我们首转载 2014-06-05 16:55:03 · 731 阅读 · 0 评论