公共类RemapHueCommand:RasterCommand
公共类RemapHueCommand继承了RasterCommand
@接口LTRemapHueCommand: LTRasterCommand
公共类RemapHueCommand扩展RasterCommand
公共ref类RemapHueCommand:公共RasterCommand
有关更多信息,请参阅改变亮度和对比度.
运行RemapHueCommand在一个图像和改变所有的绿色色调(和色调接近绿色)。
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.ImageProcessing.Color;公共intINCREMENT_S1 (intx,int长度){返回((x + 1) %长度);}公共intDECREMENT_S1 (intx,int长度){返回((x +(长度- 1))%长度);}公共intADD_S1 (intx,inty,int长度){返回((x + y) %长度);}公共无效RemapHueCommandCommandExample (){//加载图像RasterCodecs codecs =新RasterCodecs ();编解码器。ThrowExceptionsOnInvalidImages =真正的;RasterImage image = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,“cannon.jpg”));//准备命令int[] MaskTable;int[] HueTable;RasterHsvColor hsvRef;intHueGreen HueChange;int变化;int我,计数;int长度;如果(图片。BitsPerPixel >= 48)长度= 0x10000;其他的如果(!(形象。BitsPerPixel == 16 ||图像。BitsPerPixel == 12))长度= 256;其他的如果(image.GetLookupTable () ! =零& & image.UseLookupTable)长度= 256;其他的长度= (1 << image.BitsPerPixel);/ /分配表MaskTable =新int(长度);HueTable =新int(长度);/ /初始化表为(i = 0;i <长度;我+ +){MaskTable[i] = 0;HueTable[i] = i;}//获取绿色的色调hsvRef = RasterHsvColor。FromRasterColor (新RasterColor(0,255,0));HueGreen = hsvRef.H;//获取新的色调hsvRef = RasterHsvColor。FromRasterColor (新RasterColor(255,128,0));改变= (int)hsvRef.H - (int) HueGreen;HueChange = (Change > 0) ?(int)变更:(int)(变化+长度- 1);HueGreen *=(长度- 1)/ 255;HueChange *=(长度- 1)/ 255;//设置HueTable, MaskTable中的值HueTable[HueGreen] = (HueTable[HueGreen] + HueChange);MaskTable[HueGreen] = 1;//设置颜色接近绿色(+/- 15)Count =(15 *(长度- 1))/ 255;为(i = INCREMENT_S1(HueGreen, Length);计数> 0;i = INCREMENT_S1(i, Length), Count——){HueTable[i] = ADD_S1(HueTable[i], HueChange, Length);MaskTable[i] = 1;}Count =(15 *(长度- 1))/ 255;为(i = DECREMENT_S1(HueGreen, Length);计数> 0;i = DECREMENT_S1(i, Length), Count——){HueTable[i] = ADD_S1(HueTable[i], HueChange, Length);MaskTable[i] = 1;}RemapHueCommand命令=新RemapHueCommand (MaskTable HueTable,零,零、长度);command.Run(图片);编解码器。保存(形象,Path.Combine (LEAD_VARS.ImagesDir“Result.jpg”), RasterImageFormat.Jpeg, 24);}静态类LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
进口Leadtools进口Leadtools。编解码器进口Leadtools.ImageProcessing.Color公共函数INCREMENT_S1 (按值传递x作为整数,按值传递长度作为整数)作为整数返回(x + 1)国防部长度)结束函数公共函数DECREMENT_S1 (按值传递x作为整数,按值传递长度作为整数)作为整数返回(x +(长度- 1))国防部长度)结束函数公共函数ADD_S1 (按值传递x作为整数,按值传递y作为整数,按值传递长度作为整数)作为整数返回(x + y)国防部长度)结束函数公共子RemapHueCommandCommandExample ()昏暗的编解码器作为新RasterCodecs ()编解码器。ThrowExceptionsOnInvalidImages =真正的昏暗的leadImage作为RasterImage = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir,“cannon.jpg”))准备命令昏暗的MaskTable ()作为整数昏暗的HueTable ()作为整数昏暗的hsvRef作为RasterHsvColor昏暗的HueGreen作为整数昏暗的HueChange作为整数昏暗的改变作为整数昏暗的我作为整数昏暗的数作为整数昏暗的长度作为整数如果(leadImage。BitsPerPixel >= 48)然后长度= 65536ElseIf(不(leadImage。BitsPerPixel = 16或leadImage。BitsPerPixel = 12))然后长度= 256ElseIf(没有(leadImage.GetLookupTable)和leadImage.UseLookupTable)然后长度= 256其他的长度= (1 << leadImage.BitsPerPixel)结束如果“分配表ReDimMaskTable(长度- 1)ReDimHueTable(长度- 1)“初始化表为I = 0来长度- 1MaskTable(i) = 0HueTable(i) = i下一个“把颜色改成绿色hsvRef = RasterHsvColor。FromRasterColor (新RasterColor(0,255,0))HueGreen = hsvRef.H获得新的色调hsvRef = RasterHsvColor。FromRasterColor (新RasterColor(255, 128, 0))Change = hsvRef.H - HueGreen如果(更改> 0)然后改变其他的HueChange =变化+长度- 1结束如果HueGreen = (HueGreen *(长度- 1))\ 255(HueChange * (Length - 1)) \ 255在HueTable, MaskTable中设置值HueTable(HueGreen) = HueTable(HueGreen) + HueChangeMaskTable(HueGreen) = 1'设置色调接近绿色(+/- 15)i = INCREMENT_S1(HueGreen, Length)为数=(15 *(长度- 1))\ 255来1一步-1i =增量s1 (i,长度)HueTable(i) = ADD_S1(HueTable(i), HueChange, Length)MaskTable(i) = 1下一个i = DECREMENT_S1(HueGreen, Length)为数=(15 *(长度- 1))\ 255来1一步-1i = DECREMENT_S1(i, Length)HueTable(i) = ADD_S1(HueTable(i), HueChange, Length)MaskTable(i) = 1下一个昏暗的命令作为RemapHueCommand =新RemapHueCommand (MaskTable HueTable,没有什么,没有什么,长度)command.Run (leadImage)编解码器。保存(leadImage Path.Combine (LEAD_VARS.ImagesDir“Result.jpg”), RasterImageFormat.Jpeg, 24)结束子公共NotInheritable类LEAD_VARS公共常量ImagesDir作为字符串=“C: \ LEADTOOLS21 \ Resources \图片”结束类
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
