COLORREF的标准Windows值表示红色、绿色和蓝色的颜色值,或者图像调色板的索引。格式为0x00BBGGRR的COLORREF值表示指定像素的蓝色、绿色和红色值,其中0xBB是蓝色值,0xGG是绿色值,0xRR是红色值。如果在COLORREF值(0x010000ZZ)中设置了0x01000000,那么下面的8位(0xZZ)表示图像调色板的索引,其中包含颜色值。这些COLORREF值可以用于任何带有COLORREF参数的Windows函数和宏。请注意,仅仅因为图像有一个调色板,这并不意味着返回的COLORREF值自动是一个索引。
.NET的LEADTOOLS使用Leadtools。光栅Color结构来指定颜色。属性可以将这些结构转换为Windows COLORREF值RasterColor。ToArgb方法。您还可以创建一个Leadtools。光栅Color对象从COLORREF中获取RasterColor。FromArgb方法。
在文档/医学影像,则COLORREF值可以表示16位灰度值Leadtools。光栅Image是12位或16位灰度图像。为了使该值不会与RGB值混淆,设置了掩码(0x04000000)。在本例中(0x0400YYYY), COLORREF值的下16位(0xYYYY)表示16位灰度值。这不是一个标准的Windows值。因此,LEADTOOLS方法将识别具有这种格式的COLORREF,但Windows函数不会。要在非leadtools函数中使用这种类型的COLORREF值,必须执行以下操作:
intGetColorRef (RasterImage形象,intx,inty)
{
RasterColor color =图像。GetPixelColor (x, y);
//转换为Windows COLORREF
intclrref = color.ToArgb();
常量intCOLORREF_GRAY16 = 0x04000000;
如果((clrref & COLORREF_GRAY16) == COLORREF_GRAY16)
{
//非标准的COLORREF值,将其转换为windows的COLORREF
//得到一个对应于16位灰度值的8位灰度值
字节灰色= (字节((clrref & 0xFFFF) >> 8);
//使用标准的Windows RGB宏来获得一个Windows COLORREF
clrref = RGB(灰色,灰色,灰色);
}
返回clrref;
}
静态intRGB (字节r,字节克,字节b)
{
返回(r | (g << 8)) | (b << 16);
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。