当前位置:C++技术网 > 资讯 > GDI+基本结构体定义和操作

GDI+基本结构体定义和操作

更新时间:2015-06-23 15:50:03浏览次数:1+次

列举使用GDI+的基本的几个结构体以及操作函数,有大小结构体、点结构体、矩形结构体和颜色结构体。仅作参考。

GDI+大小结构体:
Gdiplus::Size size0;//空大小
Gdiplus::Size size2(1,2);//给定宽高初始化创建
Gdiplus::Size size3(size2);//使用已有大小结构初始化创建
size2.Empty();//判断大小是否为空
size2.Equals(size3);//判断两个点是否相等,宽高都相等才相等
size2.Height = size2.Width = 10;//直接操作点的宽高成员值
Gdiplus::SizeF sizef;//与Size一样,只是使用的是浮点REAL类型的值,实际是float值。
Gdiplus::SizeF sizef2(1.2F,2.0F);//在数字后面加上f或F表示浮点数,不写则表示double值,其他初始化和Size相似

GDI+点结构体:
Gdiplus::Point point1;//空点
Gdiplus::Point point2(10,10);//给定宽高初始化创建
Gdiplus::Point point3(size2);//使用size结构体初始化点
Gdiplus::Point point4(point2);//使用点初始化点
point2.Equals(point3);//判断两点是否相等
point2.X = point2.Y = 10;//直接操作点的X和Y成员值
Gdiplus::PointF pintF(1.2f,12.5f);//用浮点型初始化点

GDI+矩形结构体:
Gdiplus::Rect rect1,rect3;//空矩形
Gdiplus::Rect rect2(0,0,100,100);//给定值初始化创建
Gdiplus::Rect rect2(rect2);//用已有矩形初始化创建
Gdiplus::Rect rect2(point2,size2);//给定点和大小初始化创建
rect2.X=rect2.Y=rect2.Width=rect2.Height=100;//直接操作四个值
rect1 = *rect2.Clone();//将rect2矩形的值返回的矩形指针取值赋值给空矩形
rect2.Contains(point3);//判断rect2是否包含点point3
rect2.Contains(rect1);//判断rect2是否包含点rect1
rect2.Contains(10,10);//判断rect2是否包含点(10,10)
rect2.Equals(rect1);//判断两个矩形是否相等
rect2.GetBottom();//一系列的获取底高等
rect2.GetBounds(&rect1);//获取rect2矩形的边界给rect1
rect2.GetLocation(&point3);//获取矩形起点位置给point3,其他一系列函数
rect2.Inflate(point3);//根据给定的point3缩小和放大
rect2.Inflate(10,10);//根据给定的点缩小和放大
rect2.Intersect(rect1);//判断是否交集
rect2.Intersect(rect1,rect2,rect3);//类静态方法判断是否交集
rect2.IntersectsWith(rect1);//判断是否和rect1有交集
rect2.IsEmptyArea();//矩形区域是否为空
rect2.Offset(100,100);//根据给定的点移动矩形,偏移值可正可负,根据坐标系来决定移动方向
rect2.Offset(point1);//根据给定的point值移动矩形,偏移值可正可负,根据坐标系来决定移动方向
rect2.Union(rect1,rect2,rect3);//判断将后两个矩形的并集返回给第一个参数
Gdiplus::RectF rectF(0.2f,0.5f,100.5f,100.5f);//给定浮点值创建浮点结构体,其他和Rect类似

GDI+颜色结构体:
Gdiplus::ARGB argb;//一个DWORD的表示颜色的值
argb = Gdiplus::Color::MakeARGB(100,10,20,255);//使用类静态函数获得ARGB值
Gdiplus::Color clr1;//空颜色结构体
Gdiplus::Color clr2(argb);//使用ARGB来创建颜色结构体
Gdiplus::Color clr3(100,100,100);//使用红绿蓝三个值老创建颜色结构体,颜色值为0-255
Gdiplus::Color clr4(100,100,100,100);//使用透明度红绿蓝三个值老创建颜色结构体,透明值为0-255
Gdiplus::Color clr4(clr4);//用已有的颜色结构体来创建
clr4.GetA();//获得透明值
clr4.GetB();//获得蓝色值clr4.GetBlue();一样,clr4.GetG(),clr4.GetGreen(),clr4.GetR(),clr4.GetRed()类似
clr4.GetValue();//获取ARGB值
clr4.SetFromCOLORREF(RGB(255,2,100));//使用RGB宏设置颜色
clr4.SetValue(argb);//使用ARGB值设置颜色和透明值
clr4.ToCOLORREF();//返回COLORREF颜色值

--------------------------------------------------------------------------------------
以上仅作参考,如有错误请指出,虚心求教。