Windows游戏编程总结(一)图形处理中的几个函数
2016-07-18 02:52
363 查看
CreateCompatibleDC
函数原型 HDC CreateCompatibleDC(HDC hdc);
返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。
功能 该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。通过GetDc()获取的HDC直接与相关设备沟通,而本函数创建的DC,则是与
4000
内存中的一个表面相关联
CreateCompatibleBitmap
hdc: 设备环境句柄。
nWidth:指定位图的宽度,单位为像素。
nHeight:指定位图的高度,单位为像素。
功能 该函数创建与指定的设备环境相关的设备兼容的位图。
SelectObject
函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj)
hdc:设备上下文环境的句柄。
hgdiobj:被选择的对象的句柄(位图/画笔/字体/笔/区域的句柄)。
1.HBITMAP 声明的(位图句柄)
2. 以下函数获得的
位图:CreateBitmap, CreateBitmapIndirect, CreateCompatible Bitmap, CreateDIBitmap,
CreateDIBsection(只有内存设备上下文环境可选择位图,并且在同一时刻只能一个设备上下文环境选择位图)。
画刷:CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt,
CreateHatchBrush, CreatePatternBrush, CreateSolidBrush。
字体:CreateFont, CreateFontIndirect。
笔:CreatePen, CreatePenIndirect。
区域:CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect,
CreatePolygonRgn, CreateRectRgn,CreateRectRgnIndirect。
函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。(通俗的说用法 ,位图只有转换为设备上下文环境的句柄(DC)才可以被下面的函数BitBlt 使用)
BitBlt
hDestDC:指向目标设备环境的句柄
x:指定目标矩形区域左上角的X轴逻辑坐标。
y:指定目标矩形区域左上角的Y轴逻辑坐标。
nWidth:指定源在目标矩形区域的逻辑宽度。
nHeight:指定源在目标矩形区域的逻辑高度。
hSrcDC:指向源设备环境的句柄。
xSrc:指定源矩形区域左上角的X轴逻辑坐标。
ySrc:指定源矩形区域左上角的Y轴逻辑坐标。
dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。
功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境(通俗的说 就是把 源设备环境的句柄【SelectObject转换的】贴到目标设备环境的句柄【显示窗口上】)。
注: 以上是内容包含个人的理解,如有表述不当或者错误,还请给为高手指出!
函数原型 HDC CreateCompatibleDC(HDC hdc);
hdc:现有设备上下文环境的句柄,如果该句柄为NULL,该函数创建一个与应用程序的当前显示器兼容的内存设备上下文环境。
返回值:如果成功,则返回内存设备上下文环境的句柄;如果失败,则返回值为NULL。功能 该函数创建一个与指定设备兼容的内存设备上下文环境(DC)。通过GetDc()获取的HDC直接与相关设备沟通,而本函数创建的DC,则是与
4000
内存中的一个表面相关联
CreateCompatibleBitmap
原型
HBITMAP
CreateCompatibleBitmap(
HDC
hdc,
int
nWidth,
int
nHeight);
hdc: 设备环境句柄。
nWidth:指定位图的宽度,单位为像素。
nHeight:指定位图的高度,单位为像素。
功能 该函数创建与指定的设备环境相关的设备兼容的位图。
SelectObject
函数原型:HGDIOBJ SelectObject(HDC hdc, HGDIOBJ hgdiobj)
hdc:设备上下文环境的句柄。
hgdiobj:被选择的对象的句柄(位图/画笔/字体/笔/区域的句柄)。
1.HBITMAP 声明的(位图句柄)
2. 以下函数获得的
位图:CreateBitmap, CreateBitmapIndirect, CreateCompatible Bitmap, CreateDIBitmap,
CreateDIBsection(只有内存设备上下文环境可选择位图,并且在同一时刻只能一个设备上下文环境选择位图)。
画刷:CreateBrushIndirect, CreateDIBPatternBrush, CreateDIBPatternBrushPt,
CreateHatchBrush, CreatePatternBrush, CreateSolidBrush。
字体:CreateFont, CreateFontIndirect。
笔:CreatePen, CreatePenIndirect。
区域:CombineRgn, CreateEllipticRgn, CreateEllipticRgnIndirect,
CreatePolygonRgn, CreateRectRgn,CreateRectRgnIndirect。
函数功能:该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。(通俗的说用法 ,位图只有转换为设备上下文环境的句柄(DC)才可以被下面的函数BitBlt 使用)
BitBlt
原型
BOOL
BitBlt( _In_
HDC
hdcDest, _In_
int
nXDest, _In_
int
nYDest,
_In_
int
nWidth, _In_
int
nHeight, _In_
HDC
hdcSrc,
_In_
int
nXSrc, _In_
int
nYSrc, _In_
DWORD
dwRop);
hDestDC:指向目标设备环境的句柄
x:指定目标矩形区域左上角的X轴逻辑坐标。
y:指定目标矩形区域左上角的Y轴逻辑坐标。
nWidth:指定源在目标矩形区域的逻辑宽度。
nHeight:指定源在目标矩形区域的逻辑高度。
hSrcDC:指向源设备环境的句柄。
xSrc:指定源矩形区域左上角的X轴逻辑坐标。
ySrc:指定源矩形区域左上角的Y轴逻辑坐标。
dwRop:指定光栅操作代码。这些代码将定义源矩形区域的颜色数据,如何与目标矩形区域的颜色数据组合以完成最后的颜色。
功能:该函数对指定的源设备环境区域中的像素进行位块(bit_block)转换,以传送到目标设备环境(通俗的说 就是把 源设备环境的句柄【SelectObject转换的】贴到目标设备环境的句柄【显示窗口上】)。
注: 以上是内容包含个人的理解,如有表述不当或者错误,还请给为高手指出!
相关文章推荐
- Java中不同包之间的调用实现
- 深层次认知单例模式(Singleton)
- Django知识点
- 华硕x450vb黑苹果系统拯救与安装
- Qt: 容器类和迭代器类、foreach关键字
- RXJava详解
- eclipse的run as里面没有run on server
- c语言中字符数组和字符指针的区别:(一句话,一旦要修改就用字符数组)
- JavaEE学习笔记之SSH—Spring(3)
- 代码中设置光标显示在EditText文本末尾
- 代码中设置EditText输入类型
- C语言中%p,%u,%lu都有什么用处
- Google Analytics:为链接点击设定事件追踪的方法
- Python基本语法_基本数据类型_序列类型详解
- python pil 第三方库实战之三:ImageFilter滤镜小试
- c++ opencv读取图片像素值并进行加密
- python的异步IO模块asyncio学习
- PHP 开发学习[6] —— PHP导出Excel表实例参考
- C与C++ 混合编译
- 分布式云+dubbo+zookeeper+Springmvc整合