透明画刷的使用

透明画刷的使用
代码部分
CRect rect;
GetClientRect(rect);

pDC ->SetMapMode(MM_ANISOTROPIC);
pDC ->SetWindowExt(rect.Width(), rect.Height());
pDC ->SetViewportExt(rect.Width(), -rect.Height());
pDC ->SetViewportOrg(rect.Width()/2, rect.Height()/2);

rect.OffsetRect(-rect.Width()/2, -rect.Height()/2);
rect.DeflateRect(100, 100);

CBrush NewBrush, *pOldBrush;
pOldBrush = (CBrush *)pDC ->SelectStockObject(NULL_BRUSH);

int r = rect.Height()/2;
CRect rect1(CPoint(-r, -r), CPoint(r, r));

pDC ->Ellipse(rect1);
pDC ->Ellipse(rect);
pDC ->Rectangle(rect);

pDC ->SelectObject(pOldBrush);
关键部分
CBrush NewBrush, *pOldBrush;
pOldBrush = (CBrush *)pDC ->SelectStockObject(NULL_BRUSH);
有个类型强制转换。

时间: 2025-01-04 21:43:12

透明画刷的使用的相关文章

WPF 10天修炼 第八天 - 形状、画刷和变换

图形 在WPF中使用绘图最简单的就是使用Shape类.Shape类继承自FrameworkElement,是一个专门用来绘图的类.Shape类中年派生的类有直线.矩形.多边形和圆形等. System.Windows.Shapes.Shape类是一个抽象类,从该类又派生出多个不同的子类,如下图: Shape类的通用属性 属性名称 描述 Fill 绘制填充的画刷 Stroke 绘制边框的画刷 StrokeThickness 与设备无关的边框宽度 StrokeStartLineCap和StrokeEn

画笔与画刷

CBrush Brush, *pOldBrush; Brush.CreateSolidBrush(HS_BDIAGONAL, RGB(255, 0, 0)); pOldBrush = pDC ->SelectObject(&Brush);上面代码的本意是创建画刷,选入设备上下文:遗憾,在创建画刷时错了,参数的个数出了问题,这里和创建画笔不同,创建画笔时要定义三个参数:格式,宽度,颜色:而创建画刷只需定义颜色. 创建画刷,并对其进行自定义代码 CRect rect; GetClientRect

GDI+学习笔记(六)渐变画刷

画刷,顾名思义,就是像画刷一样,向设备上绘制,还记得小时候常唱的首歌,"我是一个粉刷匠.." 好吧,跑题了. 本系列博客希望尽可能简单的描述每项功能,而不希望把每个参数都介绍的详详细细,如果需要,请查阅msdn,本节讲述的渐变画刷,主要有两种,一种是叫线性画刷(LinearGradientBrush),还有一种叫路径画刷(PathGradientBrush),我希望以一种尽可能简单的方式去描述它,但能力有限,所以有什么意见,希望各位能帮忙提出,谢谢. (一)使用画刷 上一节中,我们实际

[游戏模版3] Win32 画笔 画刷 图形

>_<:introduce the functions of define\create\use pen and brush to draw all kinds of line and some graphs. >_<!following 2 files are the same with the previous and file main.cpp has some changes. 1 //{{NO_DEPENDENCIES}} 2 // Microsoft Visual C+

silverlight五种画刷

1.SolidColorBrush(纯色画刷): 2.LinearGradientBrush(线性渐变画刷): 3.RedialGradientBrush(径向渐变画刷): 4.ImageBrush(图像画刷): 5.VideoBrush(视频画刷): silverlight五种画刷,布布扣,bubuko.com

wpf 画刷的分类

System.Windows.Media.Brush最上一层画刷 System.Windows.Media.GradientBrush  线性画刷 ,下层主要有两种画刷 System.Windows.Media.LinearGradientBrush  线性渐变 System.Windows.Media.RadialGradientBrush焦点定义渐变的开变 System.Windows.Media.BitmapCacheBrush  使用缓存的内容绘制区域 System.Windows.Me

C#GDI+基础(三)画刷详解

SolidBrush:一般的画刷,通常只用一种颜色去填充GDI+图形 创建一般画刷: SolidBrush sbBrush1 = new SolidBrush(Color.Green); HatchBrush:阴影画刷,有两种颜色:前景色和背景色创建阴影画刷: HatchBrush(HatchStyle,Color);//前景 HatchBrush(HatchStyle,Color,Color)://前景.背景 HatchStyle对应阴影方案列表. 名称 说明 BackwardDiagonal

(转载)VS2010/MFC编程入门之五十一(图形图像:GDI对象之画刷CBrush)

上一节中鸡啄米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush. 鸡啄米依然是通过实例的方式来说明画刷的用法.此实例要实现的功能是,对话框上有一个按钮控件和一个图片控件,点击按钮弹出颜色对话框,然后在颜色对话框中选择颜色并点击"确定"后,图片控件中将显示选择的颜色. 其实此实例的功能,还可以通过重载对话框WM_CTLCOLOR消息的响应函数等方法来实现,但为讲解画刷的CBrush的使用,鸡啄米采用了下面代码中的方法. 以下是此实例

Wpf 画刷

画刷类 1.SolidColorBrush 使用单一的连续颜色绘制区域. 2.LinearGradientBrush 使用简便填充绘制区域,渐变的阴影填充从一种颜色变化到另一种颜色. 3.RadialGradientBrush 使用径向简便填充绘制区域,除了是在圆形模式中从中心点向外部辐射渐变之外,这种画刷和线性检变化刷类似. 4.ImageBrush 使用可以被拉伸.缩放或平铺的图像绘制区域. 5.DrawingBrush 使用一个Drawing对象绘制区域.该对象可以包含已经定义的形状和位图