极语言官方网站

画板绘图

颜色可用于传达想法、显示项目之间的关系以及提高输出的吸引力和质量。

Windows 使应用程序能够发现给定设备的颜色功能,并从最符合其需求的可用颜色中进行选择。

显示器和打印机等设备的颜色功能范围从单色到数千种颜色。

由于应用程序可能需要为整个范围内的设备生成输出,因此应准备好处理不同的颜色功能。

调色板是一个数组,其中包含标识当前可在输出设备上显示或绘制的颜色的颜色值。

调色板由能够生成许多颜色但只能在任何给定时间显示或绘制其中一部分颜色的设备使用。

对于此类设备,系统维护 一个系统调色板 来跟踪和管理设备的当前颜色。

应用程序没有直接访问系统调色板的权限。 相反,系统会将默认调色板与每个设备上下文相关联。

应用程序可以使用默认调色板中的颜色,也可以通过创建 逻辑调色板 并将其与单个设备上下文关联来定义其自己的颜色。

几乎所有应用程序都使用屏幕来显示它们操作的数据。

应用程序绘制图像、绘制图形和写入文本,以便用户可以在创建、编辑和打印数据时查看数据。

Microsoft Windows 为绘画和绘图提供了丰富的支持,但由于多任务操作系统的性质,应用程序在访问屏幕时必须相互协作。

为了保持所有应用程序顺利且协作地运行,系统会管理所有输出到屏幕。

应用程序使用窗口作为其主要输出设备,而不是屏幕本身。

系统提供与窗口唯一对应的显示设备上下文。

应用程序使用显示设备上下文将其输出定向到指定的窗口。

在窗口中绘制 (将输出定向到它) 可防止应用程序干扰其他应用程序的输出,

并允许应用程序彼此共存,同时仍充分利用系统的图形功能。

中文名称英文名称示例作用
调色板函数
换调色板AnimatePalette换调色板(调色板,起始,数目,色组)将替换指定逻辑调色板中的条目。色板组是色板类数组的指针
半调色板CreateHalftonePalette色板=半调色板(设备)为指定的设备上下文创建一个半色调调色板。
创建色板CreatePalette色板=创建色板(调色类)使用调色类结构创建逻辑调色板。
调正色板ColorCorrectPalette调正色板(设备,控点,条目,数目)使用指定设备上下文中的 WCS 1.0 参数更正调色板的条目。
颜色调整GetColorAdjustment颜色调整(设备,色调)获取指定设备的颜色调整值
调整颜色SetColorAdjustment调整颜色(设备,色调)使用指定数据设置设备的颜色调整值
设备取色GetNearestColor颜色=设备取色(设备,颜色)根据设备的显示能力,取得与指定颜色最接近的一种纯色
色板取色GetNearestPaletteIndex色号=色板取色(色板,颜色)检索指定逻辑调色板中与指定颜色值最匹配的条目的索引。
取调色板GetPaletteEntries取调色板(色板,起始,数目,数组)从给定的逻辑调色板中检索指定范围的调色板条目。
改调色板SetPaletteEntries改调色板(色板,起始,数目,数组)修改逻辑调色板的一系列条目中设置颜色值和标志。
系统色板GetSystemPaletteEntries系统色板(设备,起始,数目,数组)从设备的系统调色板中检索指定范围的调色板条目。
色板状态GetSystemPaletteUse状态=色板状态(设备)检索指定设备的系统(物理)调色板的当前状态。1静态颜色,2黑白,3无静态色
色板标志SetSystemPaletteUse色板标志(设备,标志)修改系统调色板的一系列条目中设置颜色值和标志。1静态颜色,2黑白,3无静态色
色板映射RealizePalette色板映射(设备)将选项板条目从当前逻辑选项板映射到系统选项板。
调整色板ResizePalette调整色板(色板,条目)根据指定的值增加或减少逻辑调色板的条目大小。
选择色板SelectPalette选择色板(设备,色板,背景)在指定的设备中选择一个新的逻辑调色板。背景调色板为真则映射颜色到物理调色板中
重置画板UnrealizeObject重置画板(对象)可重置画笔的原点或逻辑调色板。
更新颜色UpdateColors更新颜色(设备)设备的当前颜色重新映射到当前实现的逻辑调色板来更新指定设备
绘图函数
刷新绘图GdiFlush刷新绘图刷新调用线程的任何未决的绘图操作。
绘图列数GdiGetBatchLimit队列数=绘图列数获取有多少个GDI绘图命令位于队列中。
绘图队列GdiSetBatchLimit绘图队列(100)指定有多少个GDI绘图命令能够进入队列
取背景色GetBkColor取背景色(设备)获取指定设备的当前背景颜色。
改背景色SetBkColor改背景色(设备,颜色)修改指定设备的背景颜色。
边界矩形GetBoundsRect边界矩形(设备,矩形,选项)获取指定设备上下文的当前累积边界矩形。选项为1清除边界
累积边界SetBoundsRect累积边界(设备,矩形,选项)获取指定设备上下文的当前累积边界矩形。选项1清除边框,2添加边框,4开启累积,8关闭累积
混合模式GetROP2模式=混合模式(设备)获取指定设备的前景混合模式
模式混合SetROP2模式混合(设备,模式)设置指定设备的前景混合模式
背景模式GetBkMode背景模式(设备)获取指定设备的背景混合填充模式。1透明,2不透明
模式背景SetBkMode模式背景(设备,模式)用指定模式填充指定设备的背景,如阴影刷子、虚线以及字符中的空隙。1透明,2不透明
取笔刷色GetDCBrushColor颜色=取笔刷色(设备)从指定的设备中获取笔刷的颜色。
改笔刷色SetDCBrushColor改笔刷色(设备,颜色)将指定设备笔刷的颜色设置为指定值。
颜色空间GetColorSpace空间=颜色空间(设备)从指定的设备中检索逻辑颜色空间的当前句柄。
空间颜色SetColorSpace空间颜色(设备,空间)给指定设备输入颜色空间。
取画笔色GetDCPenColor取画笔色(设备,颜色)从指定的设备中获取笔的颜色。
改画笔色SetDCPenColor改画笔色(设备,颜色)将指定设备画笔的颜色设置为指定值。
伽玛渐变GetDeviceGammaRamp伽玛渐变(设备,@颜色组)在具有支持硬件中可下载伽玛渐变的驱动程序的直接彩色显示板上获取伽玛渐变。
渐变伽玛SetDeviceGammaRamp渐变伽玛(设备,颜色组)在具有支持硬件中可下载伽玛渐变的驱动程序的直接彩色显示板上设置伽玛渐变。
检查色域CheckColorsInGamut检查色域(转换,颜色,数据,长度)检查指定的颜色值是否在指定设备的色域内,检查结果输出到数据字节组中
匹配像素ChoosePixelFormat匹配像素(设备,像素格式)尝试将设备上下文支持的适当像素格式与给定的像素格式规范进行匹配。
创建色域CreateColorSpaceA色域=创建色域(色域类)创建逻辑颜色空间。色域类
删除色域DeleteColorSpace删除色域(色域)删除指定的颜色空间,释放与其关联的所有内部资源。
设备像素DescribePixelFormat设备像素(设备,索引,长度,像素格式)获取有关设备的像素格式像素格式的信息。
枚举颜色EnumICMProfilesA枚举颜色(设备,@回调,参数)枚举系统支持的不同颜色配置文件
颜色模式SetICMMode颜色模式(设备,模式)指定设备的启用、禁用或查询图像颜色。
颜色配置GetICMProfileA颜色配置(设备,长度,名称)获取设备的颜色配置文件的名称。
配置颜色SetICMProfileA配置颜色(设备,长度,名称)将指定的颜色配置文件设置为指定设备的输出配置文件。
像素格式GetPixelFormat索引=像素格式(设备)获取指定设备的当前所选像素格式的索引。
格式像素SetPixelFormat格式像素(设备,索引,像素格式)将指定设备的像素格式设置为索引指定的格式。
交换缓冲SwapBuffers交换缓冲(设备)交换前缓冲区和后缓冲区。
更新色块UpdateICMRegKeyA更新色块(0,标识,结构,命令)管理系统中的颜色配置文件和颜色管理模块。

色板类
中文名字英文名称长度作用解释
色板类PALETTEENTRY4指定逻辑调色板中条目的颜色和用法。
色板类——成员表
peRed字节指定调色板条目的红色强度值。
绿peGreen字节指定调色板条目的绿色强度值。
peBlue字节指定调色板条目的绿色强度值。
方式peFlags字节指定调色板条目的使用方式。1动态,2索引,4非系统

调色类
中文名字英文名称长度作用解释
调色类LOGPALETTE4+定义逻辑调色板。
调色类——成员表
版本palVersion整形指定结构的Windows版本号(目前为$300)
数目palNumEntries整形指定逻辑调色板中的条目数
色板palPalEntry[1]色板类自定义 色板类 结构的数组

色域类
中文名字英文名称长度作用解释
色域类LOGCOLORSPACE12包含了逻辑颜色空间信息
色域类——成员表
签名lcsSignature整数颜色空间签名
版本lcsVersion整数版本号,目前是$400
大小lcsSize整数此结构的大小(以字节为单位)。
分类lcsCSType整数颜色空间类型。1设备RGB 2设备CMYK 0标准RGB
匹配lcsIntent整数色域匹配方法。1保持饱和度 2保持图案 3保持对比度
端点lcsEndpoints整数红色,绿色,蓝色端点。
lcsGammaRed整数红色坐标的比例。
绿lcsGammaGreen整数绿色坐标的比例。
lcsGammaBlue整数蓝色坐标的比例。
输出lcsFilename文本[260]输出变量字段的数据,用于命名颜色配置文件。该成员通常设置为零

像素格式类
中文名字英文名称长度作用解释
像素格式类PIXELFORMATDESCRIPTOR46包含了逻辑字体信息的结构
像素格式类——成员表
长度nSize整形结构的大小
版本nVersion整形结构的版本,一般设为1
标志dwFlags整数表明像素缓冲特性的标志位,如缓冲是否支持GDI或OpenGL等
索引iPixelType整数说明象素数据类型是RGBA还是颜色索引
颜色位cColorBits整数每个颜色缓冲区中颜色位平面的数目,对颜色索引方式是缓冲区大小
红位数cRedBits字节每个RGBA颜色缓冲区中红色位平面的数目
红偏移cRedShift字节每个RGBA颜色缓冲区中红色位平面的偏移数
绿位数cGreenBits字节每个RGBA颜色缓冲区中绿色位平面的数目
绿偏移cGreenShift字节每个RGBA颜色缓冲区中绿色位平面的偏移数
蓝位数cBlueBits字节每个RGBA颜色缓冲区中蓝色位平面的数目
蓝偏移cBlueShift字节每个RGBA颜色缓冲区中蓝色位平面的偏移数
透明位cAlphaBits字节每个RGBA颜色缓冲区中alpha位平面的数目(现不支持)
透明偏移cAlphaShift字节每个RGBA颜色缓冲区中alpha位平面的偏移数(现不支持)
缓冲位cAccumBits字节累加缓冲区中全部位平面的数目
红缓冲cAccumRedBits字节累加缓冲区中红色位平面的数目
绿缓冲cAccumGreenBits字节累加缓冲区中绿色位平面的数目
蓝缓冲cAccumBlueBits字节累加缓冲区中蓝色位平面的数目
透明缓冲cAccumAlphaBits字节累加缓冲区中透明位平面的数目
缓冲深度cDepthBits字节 Z(深度)缓冲区的深度
模板深度cStencilBits字节模板缓冲区的深度
轴向缓冲cAuxBuffers字节轴向缓冲区的数量(一般1.0版本不支持)
图层iLayerType字节未使用
层数bReserved字节表层和底层平面的数量
图码dwLayerMask整数未使用
显码dwVisibleMask整数是透明色彩的值(RGBA方式)或是一个底层平面的索引(Index)
坏码dwDamageMask整数未使用

颜色调整类
中文名字英文名称长度作用解释
颜色调整类COLORADJUSTMENT40   定义颜色调整值。
颜色调整类——成员表
大小caSize整数结构的大小(以字节为单位)。
标志caFlags整数指定应如何准备输出映像。1原始图像的底片。2将对数函数应用于输出颜色的最终密度,当亮度较低时这将增加颜色对比度。
光源caIlluminantIndex整数查看图像时所依据的标准光源的类型。颜色调整光源
红加caRedGamma整数指定源颜色的红色主色的第 n次 幂伽玛校正值。 该值必须在 2500 到 65,000 的范围内。 值为 10,000 表示没有伽玛校正。
绿加caGreenGamma整数指定源颜色的绿色主色的第 n次 幂伽马校正值。 该值必须在 2500 到 65,000 的范围内。 值为 10,000 表示没有伽玛校正。
蓝加caBlueGamma整数指定源颜色的蓝色原色的第 n次 幂伽玛校正值。 该值必须在 2500 到 65,000 的范围内。 值为 10,000 表示没有伽玛校正。
黑色caReferenceBlack整数源颜色的黑色引用。 任何比这更深的颜色都被视为黑色。 该值必须在 0 到 4000 的范围内。
白色caReferenceWhite整数源颜色的白色引用。 任何比这更浅的颜色都被视为白色。 该值必须在 6000 到 10,000 的范围内。
对比caContrast整形要应用于源对象的对比度。 该值必须在 -100 到 100 的范围内。 值为 0 表示不调整对比度。
亮度caBrightness整形要应用于源对象的亮度量。 该值必须在 -100 到 100 的范围内。 值为 0 表示不调整亮度。
色彩caColorfulness整形要应用于源对象的色彩量。 该值必须在 -100 到 100 的范围内。 值为 0 表示没有色彩调整。
色调caRedGreenTint整形要应用于源对象的红色或绿色色调调整量。 该值必须在 -100 到 100 的范围内。 正数向红色调整,负数向绿色调整。 零表示无色调调整。

颜色调整光源
英文名称数值作用解释
ILLUMINANT_DEVICE_DEFAULT0设备的默认值。 输出设备使用的标准。
ILLUMINANT_A1碳化灯。
ILLUMINANT_B2中午的阳光。
ILLUMINANT_C3NTSC 日光。
ILLUMINANT_D504普通打印。
ILLUMINANT_D555债券纸打印。
ILLUMINANT_D656标准日照。 CRT 和图片的标准。
ILLUMINANT_D757北天。
ILLUMINANT_F28酷白灯。

前景混合模式
英文名称数值作用解释
R2_BLACK1像素始终为 0。
R2_NOTMERGEPEN2像素是R2_MERGEPEN颜色的反转。
R2_MASKNOTPEN3像素是屏幕和笔反面共有的颜色的组合。
R2_NOTCOPYPEN4像素是触笔颜色的反转。
R2_MASKPENNOT5像素是笔和屏幕反面共有的颜色的组合。
R2_NOT6像素是屏幕颜色的反转。
R2_XORPEN7像素是笔和屏幕中颜色的组合,但不是两者的组合。
R2_NOTMASKPEN8像素是R2_MASKPEN颜色的反转。
R2_MASKPEN9像素是笔和屏幕共有的颜色的组合。
R2_NOTXORPEN10像素是R2_XORPEN颜色的反转。
R2_NOP11像素保持不变。
R2_MERGENOTPEN12像素是屏幕颜色和笔颜色反转的组合。
R2_COPYPEN13像素是触笔颜色。
R2_MERGEPENNOT14像素是笔颜色和屏幕颜色反转的组合。
R2_MERGEPEN15像素是笔颜色和屏幕颜色的组合。
R2_WHITE16像素始终为 1。