摘要:1. 使用CRgn创建一个圆角区域2. 使用DC选中此区域3. 使用GradientFill绘制DC4. 删除CRgn
阅读全文
摘要:MSDN地址:http://msdn.microsoft.com/en-us/library/dd183370(VS.85).aspx函数功能:该函数对指定的源或设备环境区域中的像进行位块(bit_block)转换,以传送到目标设备环境。函数原型:[代码]参数:thdcDest:指向目标设备环境的句柄。 nXDest:指定目标矩形区域克上角的X轴逻辑坐标。 nYDest:指定目标矩形区域左上角的Y...
阅读全文
摘要:假设你想要的字号是PointSize,那么对应的高度nHeight用如下代码计算:nHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72); 相关参考:http://support.microsoft.com/kb/74299/zh-cn
阅读全文
摘要:(1)重载OnEraseBkgnd Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->BOOL CDialog::OnEraseBkgnd(CDC* pDC){ return true;} (2)重载OnPaint(3)OnPaint函数里面使用...
阅读全文
摘要:OnPaint()与OnEraseBkgnd() 地址: 在MFC中 任何一个window组件的绘图 都是放在这两个member function中 在设定上 OnEraseBkgnd()是用来画底图的 而OnPaint()是用来画主要对象的 举例说明 一个按钮是灰色的 上面还有文字 则OnEraseBkgnd()所做的事就是把按钮画成灰色 而OnPaint()所做的事就是画上文字 既然这...
阅读全文
摘要:思路: (1)获取屏幕绘图设备 (2)创建一个与屏幕绘图设备相兼容的内存绘图设备 (2)在内存中创建一个与屏幕绘图设备相兼容的图像对象 (3)将屏幕设备中的图像复制到内存绘图设备中 (4)将内存图像保存到文件中 相关函数: GetDIBits:按位的方式返回指定的BITMAP,并按指定的格式存储到内存中 代码: Code highlighting produced by Actipro Code...
阅读全文
摘要:CDC是Windows绘图设备的基类 CClientDC: (1)(客户区设备上下文)用于客户区的输出,与特定窗口关联,可以让开发者访问目标窗口中客户区,其构造函数中包含了GetDC,析构函数中包含了ReleaseDC CPaintDC: (1)用于响应窗口重绘消息(WM_PAINT)是的绘图输出。 (2)CPaintDC在构造函数中调用BeginPaint()取得设备上下文,在析构函数中调用...
阅读全文
摘要:(1)不同状态下的按钮 使用GDI+的Color透明度可以显示不同状态下的按钮图片,比如清晰的按钮图标,半清晰的按钮图标。 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> gdim.DrawImage(&img,128,72); //透...
阅读全文
摘要:1.在你将要使用GDI+的工程中,完成初始化工作,将以下代码加入StdAfx.h头文件中: //加入的头文件 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#include //初始化一下com口 #ifndef ULONG_PTR #define...
阅读全文
摘要:实现双缓冲的具体步骤 1、在内存中建立一块“虚拟画布”: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->Bitmap bmp = new Bitmap(600, 600); 2、获取这块内存画布的Graphics引用: Code highligh...
阅读全文
摘要:思路:以下示例创建具有多边形窗体。 代码构造 GraphicsPath 属性是基于 区域 。 通过使用 点 数组构造 GraphicsPath 属性。 地区 被传递给 SetClip 方法的 Graphics 对象, 并构造 区域 然后通过 set_Region 方法设置作为 区域 是窗体。 代码: Code highlighting produced by Actipro CodeHighlig...
阅读全文
摘要:开发环境:VC7 思路: (1)获取当前顶层窗口(即屏幕)(GetDesktopWindow) (2)获取当前顶层窗口的绘图设备(CWindowDC) (3)创建内存图像 (4)将当前顶层窗口图像复制到内存图像中 (5)保存图像 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighli...
阅读全文
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->OnInitDialog中: // TODO: Add extra initialization here CDC dc; CBitmap *pBmp = NULL; dc.CreateDC("DIS...
阅读全文
摘要:GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。 ...
阅读全文
摘要:一、GDI GDI是位于应用程序与不同硬件之间的中间层,这种结构让程序员从直接处理不同硬件的工作中解放出来,把硬件间的差异交给了GDI处理。GDI通过将应用程序与不同输出设备特性相隔离,使Windows应用程序能够毫无障碍地在Windows支持的任何图形输出设备上运行。例如,我们可以在不改变程序的前提下,让能在Epson点式打印机上工作的程序也能在激光打印机上工作。它把windows系统中的图...
阅读全文
摘要:思路: (1)在内存中创建一个与当前绘图设备相兼容的绘图设备。 (2)将图片加载到内存绘图设备中(SelectObject) (3)将内存绘图设备中的图片复制到当前绘图设备中 双缓冲代码: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->CDC Mem...
阅读全文
摘要:CPaintDC dc(this); CRect rect; GetClientRect(&rect);//得到窗体的大小 CDC dcMem; dcMem.CreateCompatibleDC(&dc); CBitmap bmpBackground; bmpBackground.LoadBitma...
阅读全文
摘要:OnInitDialog中: // TODO: Add extra initialization here CDC dc; CBitmap *pBmp = NULL; dc.CreateDC("DISPLAY", NULL, NULL, NULL); pMemDC = new CDC; if (!pMemDC) return FALSE; pMemDC->CreateCompatibleDC(&...
阅读全文
摘要:void CSemiTransWnd::Update(long type,POINT *pTopLeft) { if(m_hWnd&&m_iWidth&&m_iHeight&&m_pdwRGBAData&&m_pDC&&m_pBmp)//指针正确 { //获取屏幕DC CDC dcScreen; dcScreen.Attach(::G...
阅读全文