第26周-window程序设计(基础篇)-第5章(图形基础)-关于颜色
2016-09-26 11:22
369 查看
1、关于颜色:
2、保存设备内容:
/*初始化设备内容:非内定的设备内容属性*/
case WM_PAINT:
hdc = BeginPaint(hwnd,&ps);
设备内容属性
绘制窗口显示区域
EndPaint(hwnd,&ps);
return 0;
/*将CS_OWNDC旗标纳入窗口类别:每个窗口都将拥有自己的设备内容*/
wndclass.style = CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
/*使用CS_OWNDC风格,就只需初始化设备内容一次,可以在处理WM_CREATE消息处理期间完成这一操作*/
case WM_CREATE:
hdc = GetDC(hwnd);
初始化设备内容属性
ReleaseDC(hwnd,hdc);
/*使用了CS_OWNDC,您仍然应该在退出窗口消息处理程序之前释放设备内容。
CS_OWNDC风格只影响GetDC和BeginPaint获得的设备内容,
不影响其它函数(如GetWindowDC)获得的设备内容。*/
/*保存设备内容*/
idSaved = SaveDC(hdc)
/*回到呼叫SaveDC前存在的设备内容*/
RestoreDC (hdc, idSaved) ;
如,将设备内容恢复到最近由SaveDC函数保存的状态中.
RestoreDC (hdc, -1);
/* 1、字体的点值 = tmHeight字段-tmInternalLeading字段,与字体字母的实际大小并不正好相等; 2、字体的字母大小由「点」表示。1点大约1/72英寸,在计算机排版中1点正好为1/72英寸。 3、小于10点的字体不益于长时间阅读。 4、视频图素大小-固定假设为10点字体和12点行距。(96或120dpi) */ 逻辑宽度(mm):25.4*(垂直解析度(图素)/逻辑图素X(每英寸的点数)) 逻辑高度(mm):25.4*(垂直解析度(图素)/逻辑图素Y(每英寸的点数)) [Full-Color]: 视讯显示器的分辨率是每个图素24位-8位红色、8位绿色以及8位蓝色。 [High-Color]: 显示分辨率是每个图素16位-5位红色、6位绿色以及5位蓝色。 /*呼叫传回色彩平面的数目*/ iPlanes = GetDeviceCaps(hdc,PLANES); /*呼叫传回每个图素的色彩位数*/ iBitsPixel = GetDeviceCaps(hdc,BITSPIXEL); /*显示卡能够表示的色彩数*/ iColors = 1 << (iPlanes * iBitsPixel) ; 与下面得到的值可能一样或不同 iColors = GetDeviceCaps(hdc,NUMCOLORS) ; /*原因:不用这个值,因为GetDeviceCaps传回由Windows保留的色彩数,值为20, 剩余的236种颜色可以由Windows程序用调色盘管理器设定。*/ /*RGB色彩,其中‘\’表示续行符*/ #define RGB(r,g,b) ((COLORREF)(((BYTE)(r) | \ ((WORD)((BYTE)(g)) << 8)) | \ (((DWORD)(BYTE)(b)) << 16))) RGB(255,255,0)//三个参数顺序是红绿蓝,三值为0时为黑,255时为白。 /*[混色]:模拟设备能够显示的颜色之外的色彩*/ cpPureColor = GetNearestColor(hdc,crColor); /*设备内容属性,程序可以改变或者取得任何一种属性.*/ 设备内容属性 默认值 修改该值的函数 取得该值的函数 Mapping Mode MM_TEXT SetMapMode GetMapMode Window Origin (0, 0) SetWindowOrgEx GetWindowOrgEx OffsetWindowOrgEx Viewport Origin (0, 0) SetViewportOrgEx GetViewportOrgEx OffsetViewportOrgEx Window Extents (1, 1) SetWindowExtEx SetMapMode GetWindowExtEx ScaleWindowExtEx Viewport Extents (1, 1) SetViewportExtEx SetMapMode GetViewportExtEx ScaleViewportExtEx Pen BLACK_PEN SelectObject SelectObject Brush WHITE_BRUSH SelectObject SelectObject Font SYSTEM_FONT SelectObject SelectObject Bitmap None SelectObject SelectObject Current Position (0, 0) MoveToEx LineTo GetCurrentPositionEx PolylineTo PolyBezierTo Background Mode OPAQUE SetBkMode GetBkMode Background Color White SetBkColor GetBkColor Text Color Black SetTextColor GetTextColor Drawing Mode R2_COPYPEN SetROP2 GetROP2 Stretching Mode BLACKONWHITE SetStretchBltMode GetStretchBltMode Polygon Fill Mode ALTERNATE SetPolyFillMode GetPolyFillMode Intercharacter Spacing 0 SetTextCharacterExtra GetTextCharacterExtra Brush Origin (0, 0) SetBrushOrgEx GetBrushOrgEx SelectObject SelectClipRgn IntersectClipRgn Clipping Region None OffsetClipRgn GetClipBox ExcludeClipRect SelectClipPath
2、保存设备内容:
/*初始化设备内容:非内定的设备内容属性*/
case WM_PAINT:
hdc = BeginPaint(hwnd,&ps);
设备内容属性
绘制窗口显示区域
EndPaint(hwnd,&ps);
return 0;
/*将CS_OWNDC旗标纳入窗口类别:每个窗口都将拥有自己的设备内容*/
wndclass.style = CS_HREDRAW|CS_VREDRAW|CS_OWNDC;
/*使用CS_OWNDC风格,就只需初始化设备内容一次,可以在处理WM_CREATE消息处理期间完成这一操作*/
case WM_CREATE:
hdc = GetDC(hwnd);
初始化设备内容属性
ReleaseDC(hwnd,hdc);
/*使用了CS_OWNDC,您仍然应该在退出窗口消息处理程序之前释放设备内容。
CS_OWNDC风格只影响GetDC和BeginPaint获得的设备内容,
不影响其它函数(如GetWindowDC)获得的设备内容。*/
/*保存设备内容*/
idSaved = SaveDC(hdc)
/*回到呼叫SaveDC前存在的设备内容*/
RestoreDC (hdc, idSaved) ;
如,将设备内容恢复到最近由SaveDC函数保存的状态中.
RestoreDC (hdc, -1);
相关文章推荐
- Window下搭建ESP8266编译环境
- Android第一行代码学习笔记八----网络技术
- iOS单例详解
- fir.im Weekly - 关于 iOS10 适配、开发、推送的一切
- C#窗体布局方式详解
- iOS10中UIScrollView新增refreshControl属性
- 四种浏览器对 Document.body 的 ClientHeight、OffsetHeight 和 ScrollHeight 的解释
- 2.素数对猜想
- Vuejs(14)——在v-for中,利用index来对第一项添加class
- oracle rac 和单机环境下各种不同
- 如何实现跑马灯效果
- GET,POST,PUT,DELETE的区别
- 5分钟 搞定UIButton的文本与图片的布局
- Git快速入门
- 在树莓派上通过usb_cam将图像传输到笔记本电脑
- 想要空号检测软件检测结果更加准确 那么注意选择
- vs2013 搜索之正则表达式使用
- ListView原理分析
- 伸展树模板
- Android开发 ListView底部分割线不显示的解决办法