(保龄球)setUserData:(nullable无符号字符*)用户数据userDataSize:(无符号长)userDataSize错误:错误(NSError * *)
公共无效setUserData (字节[]的数据,长大小)
数据
指针指向包含图像的非托管内存缓冲区新数据。
大小
在的字节数数据。
您指定的数据不会被复制,而是将引用的图像到图像的处理,或直到你再次调用这个方法。
建立一个RasterImage对象与非托管用户数据,调用/ #男星构造函数传递RasterMemoryFlags.User到旗帜参数。
一些图像处理命令,如RotateCommand和ColorResolutionCommand,需要重新分配图像数据的。如果你创建一个图像RasterMemoryFlags.User,并将其传递给这些命令,他们将改变形象RasterMemoryFlags.Conventional和重新分配内存。你的原始记忆不再被使用。
这个示例使用GetPixelData和SetPixelData方法来交换特定像素的R, G值。
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.ImageProcessing;使用Leadtools.ImageProcessing.Core;使用Leadtools.ImageProcessing.Color;使用Leadtools.Dicom;使用Leadtools.Drawing;使用Leadtools.Controls;使用Leadtools.Svg;公共无效SetUserDataExample (){RasterCodecs编解码器=新RasterCodecs ();字符串destFileName = Path.Combine (LEAD_VARS.ImagesDir,“UserData.bmp”);/ /使用用户定义的数据创建一个图像int宽度= 40;int身高= 40;intbitsPerPixel = 24;int大小=宽*高* 3;IntPtr data1 = Marshal.AllocHGlobal(大小);/ /加载图像RasterImage图像=新RasterImage (RasterMemoryFlags.User,宽度,高度,bitsPerPixel,RasterByteOrder.Bgr,RasterViewPerspective.TopLeft,零,IntPtr.Zero,0);/ /得到一个指针的内部数据,填充灰色色调长dataSize = image.DataSize;字节[]缓冲=新字节[dataSize];bool公司=真正的;字节值= 0;为(int我= 0;我< buffer.Length;我+ = 3){缓冲(+ 0)=价值;缓冲(i + 1) =价值;缓冲[i + 2] =价值;如果(公司){如果(值= = 255){公司=假;值= 254;}其他的值+ +;}其他的{如果(值= = 0){公司=真正的;值= 1;}其他的价值——;}}/ /这个缓冲区复制到图像数据元帅。复制(缓冲区,0,data1、buffer.Length);/ /设置用户数据的形象。SetUserData (data1、dataSize);/ /保存图片编解码器。保存(图像、destFileName RasterImageFormat。Bmp、24);image.Dispose ();Marshal.FreeHGlobal (data1);codecs.Dispose ();}静态类LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
进口Leadtools进口Leadtools.Codecs进口Leadtools.ImageProcessing进口Leadtools.ImageProcessing.Core进口Leadtools.ImageProcessing.Color进口Leadtools.Controls进口Leadtools.Dicom进口Leadtools.Drawing进口Leadtools.Svg公共子SetUserDataExample ()昏暗的编解码器作为RasterCodecs =新RasterCodecs ()昏暗的destFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“UserData.bmp”)“与用户定义的数据创建一个图像昏暗的宽度作为整数= 40昏暗的高度作为整数= 40昏暗的bitsPerPixel作为整数= 24昏暗的大小作为整数=宽*高* 3昏暗的data1作为IntPtr = Marshal.AllocHGlobal(大小)“加载图片昏暗的图像作为RasterImage =新RasterImage (RasterMemoryFlags。用户,宽度,高度,bitsPerPixel RasterByteOrder.Bgr,RasterViewPerspective.TopLeft,没有什么,IntPtr。0,0)得到一个指针指向内部数据和填充灰色色调昏暗的dataSize作为整数=CInt(image.DataSize)昏暗的缓冲作为字节()=新字节(dataSize - 1) {}昏暗的公司作为布尔=真正的昏暗的价值作为字节= 0昏暗的我作为整数= 0做而我< buffer.Length缓冲(i + 0) =价值缓冲(i + 1) =价值缓冲(+ 2)=价值如果公司然后如果值= 255然后公司=假值= 254其他的价值=价值+ Convert.ToByte (1)结束如果其他的如果值= 0然后公司=真正的值= 1其他的价值=价值——Convert.ToByte (1)结束如果结束如果我+ = 3循环这个缓冲区复制到图像数据元帅。复制(缓冲区,0,data1、buffer.Length)“设置用户数据的形象。SetUserData (data1 dataSize)“保存图像编解码器。保存(图像、destFileName RasterImageFormat。Bmp, 24)image.Dispose ()Marshal.FreeHGlobal (data1)codecs.Dispose ()结束子公共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
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。
