# include“l_bitmap.h”
L_LTIMGCOR_APIL_INTL_ColorizeGrayBitmap (pDstBitmap、pSrcBitmap pGrayColors、uCount uFlags)
颜色一个8、12或16位灰度位图。函数改变了颜色位/像素的位图格式为24位RGB格式指定。
指针指向的目标位图包含函数的结果。用户应该免费的位图,再将其传递函数。
位图句柄指针引用8、12或16位灰度位图。pSrcBitmap不会受到影响。
指针数组LTGRAYCOLOR结构。用户指定数量的条目数组的。你可以通过传递NULL值自动彩色位图在这个变量(在这种情况下uCount
将被忽略)。
的条目数量pGrayColors
数组中。它可以是任何数,只要它代表pGrayColors正确。1意味着有一个条目,2意味着有两个条目。如果你设置为0,那么该函数将返回一个错误代码。
保留以供将来使用。必须是0。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
函数可以用来作为可视化的援助。更准确地说,这个函数可以用来显示位图强度值的变化。
这个函数颜色的灰度位图将指定范围的灰度强度转化为相应的RGB值。使用pGrayColors
变量设置强度范围和RGB值。
使用此函数可以显示原始位图中从未见过的细节。在12和16位灰度位图,仅显示8最重要的部分,而其余的被丢弃。通过着色这些丢弃的部分你可以使其可见。
的pDstBitmap
被认为是未初始化的。如果pDstBitmap包含位图,调用这个函数之前你应该免费。函数将分配和存储pDstBitmap 24位位图。
如果你传递NULL pGrayColors变量然后函数颜色的位图使用一种算法自动生成唯一的输出颜色。位图的输出将包含256种颜色如果输入8位位图,4096种颜色如果输入位图12位和65535颜色如果输入16位位图。的uCount
如果pGrayColors为空变量将被忽略。
你不需要填uStructSize pGrayColors数组的所有元素。你只需要填uStructSize pGrayColors数组中的第一个元素。
下面的示例显示了如何使用16位灰度位图颜色pGrayColors
。
在一个16位灰度位图,最低的像素值是0,最高的像素值为65535。
从输入将彩色图像的颜色如下:
更多信息填充pGrayColors数组来获得这个结果,参考的例子。
更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback。
这个函数支持8、12和16位灰度位图。支持12和16位灰度图像中可用文档和医疗成像工具包。它还可以处理整个图像或一个地区的形象。如果位图有一个地区,效果仅适用于该地区。
这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。
必需的dll和库
Win32 x64, Linux。
这个例子中加载一个16位灰度位图,然后颜色。
/ /现在我们已经得到的图像的颜色
L_INT ColorizeGrayBitmapExample (L_VOID)
{
L_INT nRet;
BITMAPHANDLE GrayBitmap;/ *位图句柄保存源灰度图像。* /
BITMAPHANDLE ColorBitmap;/ *位图持有目的地彩色位图的句柄。* /
pLTGRAYCOLOR pGrayColors;
/ *加载位图,并且将其转换成灰度类型* /
nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“IMAGE1.CMP”&GrayBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);
如果(nRet ! =成功)
返回nRet;
nRet = L_GrayScaleBitmap (&GrayBitmap 8);
如果(nRet ! =成功)
返回nRet;
pGrayColors = (pLTGRAYCOLOR malloc ()运算符(LTGRAYCOLOR) * 6);
pGrayColors [0]。uStructSize =运算符(LTGRAYCOLOR);
pGrayColors [0]。uThreshold = 9999;
pGrayColors [0] .crColor。rgbRed = 255;
pGrayColors [0] .crColor。rgbGreen = 0;
pGrayColors [0] .crColor。rgbBlue = 0;
pGrayColors [1]。uThreshold = 19999;
pGrayColors [1] .crColor。rgbRed = 0;
pGrayColors [1] .crColor。rgbGreen = 255;
pGrayColors [1] .crColor。rgbBlue = 0;
pGrayColors [2]。uThreshold = 29999;
pGrayColors [2] .crColor。rgbRed = 0;
pGrayColors [2] .crColor。rgbGreen = 0;
pGrayColors [2] .crColor。rgbBlue = 255;
pGrayColors [3]。uThreshold = 39999;
pGrayColors [3] .crColor。rgbRed = 0;
pGrayColors [3] .crColor。rgbGreen = 255;
pGrayColors [3] .crColor。rgbBlue = 255;
pGrayColors [4]。uThreshold = 49999;
pGrayColors [4] .crColor。rgbRed = 255;
pGrayColors [4] .crColor。rgbGreen = 0;
pGrayColors [4] .crColor。rgbBlue = 255;
pGrayColors [5]。uThreshold = 59999;/ /这个值将被忽略
pGrayColors [5] .crColor。rgbRed = 255;
pGrayColors [5] .crColor。rgbGreen = 255;
pGrayColors [5] .crColor。rgbBlue = 0;
/ /调用函数
nRet = L_ColorizeGrayBitmap (&ColorBitmap, &GrayBitmap pGrayColors 6,0);
如果(nRet ! =成功)
返回nRet;
如果(pGrayColors)
免费(pGrayColors);
nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&ColorBitmap FILE_BMP, 24岁,0,NULL);
如果(nRet ! =成功)
返回nRet;
/ /免费的位图
如果(ColorBitmap.Flags.Allocated)
L_FreeBitmap (&ColorBitmap);
如果(GrayBitmap.Flags.Allocated)
L_FreeBitmap (&GrayBitmap);
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。