c#
VB
c++
公共静态类RasterBufferConverter
公共mustlinheritNotInheritable类RasterBufferConverter
公共ref类RasterBufferConverter摘要密封
此示例以每像素24位的速度加载图像,并以每像素16位的速度创建新图像,并使用转换方法将数据从每像素24位转换为每像素16位。
使用Leadtools;使用Leadtools.Codecs;公共无效RasterBufferConverterExample (){字符串srcFileName = Path.Combine(LEAD_VARS.ImagesDir,“Image1.cmp”);字符串destFileName = Path.Combine(LEAD_VARS.ImagesDir,“Image1_16bits.bmp”);使用(RasterCodecs codecs =新RasterCodecs ()){编解码器。ThrowExceptionsOnInvalidImages =真正的;//加载图像,每像素24位。使用(RasterImage srcImage =编解码器。加载(srcFileName, 24, CodecsLoadByteOrder.)Bgr, 1,1)){Assert.IsNotNull (srcImage);Assert.IsTrue (srcImage。BitsPerPixel == 24);//创建一个新的16位映像。使用(RasterImage destImage =新RasterImage (RasterMemoryFlags。传统的,srcImage。宽度,srcImage。高度,16日,srcImage。订单,srcImage。ViewPerspective,srcImage.GetPalette (),IntPtr。零,0)){Assert.IsNotNull (destImage);Assert.IsTrue (destImage。BitsPerPixel == 16);//创建一个足够大的缓冲区来容纳源行或目标行intbytesPerLine = Math.Max(srcImage. max)字节sPerLine, destImage.BytesPerLine);字节[] buffer =新字节[bytesPerLine];//处理从src到dest image的每一行srcImage.Access ();destImage.Access ();为(intI = 0;i < srcImage.Height;我+ +){srcImage。GetRow(i, buffer, 0, srcImage.BytesPerLine);RasterBufferConverter。转换(缓冲区,0,srcImage。宽度,srcImage。BitsPerPixel,destImage。BitsPerPixel,srcImage。订单,destImage。订单,零,零,0);destImage。SetRow(i, buffer, 0, destImage.BytesPerLine);}destImage.Release ();srcImage.Release ();//将目标映像保存回磁盘编解码器。保存(destImage, destFileName, RasterImageFormat.Bmp, 16);}}}}静态类LEAD_VARS{公共常量字符串ImagesDir =@“C: \ LEADTOOLS21 \ Resources \图片”;}
进口Leadtools进口Leadtools。编解码器公共子RasterBufferConverterExample ()昏暗的编解码器作为RasterCodecs =新RasterCodecs ()编解码器。ThrowExceptionsOnInvalidImages =真正的昏暗的srcFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Image1.cmp”)昏暗的destFileName作为字符串= Path.Combine (LEAD_VARS.ImagesDir“Image1_16bits.bmp”)’以每像素24位的速度加载图像。昏暗的srcImage作为RasterImage =编解码器。加载(srcFileName, 24, CodecsLoadByteOrder.)Bgr, 1,1)Debug.Assert (srcImage。BitsPerPixel = 24)“创建一个足以一次容纳一行的缓冲区。昏暗的bytesPerLine作为整数=数学。马克斯(srcImage。字节sPerLine, destImage.BytesPerLine)昏暗的缓冲作为字节() =新字节(bytesPerLine - 1) {}'创建一个新的16位图像。昏暗的destImage作为RasterImage =新RasterImage (RasterMemoryFlags。传统的,srcImage。宽度,srcImage。高度,16日,srcImage。订单,srcImage。ViewPerspective,srcImage.GetPalette (),IntPtr。零,0)Debug.Assert (destImage。BitsPerPixel = 16)'处理从src到dest图像的每一行srcImage.Access ()destImage.Access ()昏暗的我作为整数= 0做而i < srcImage。高度srcImage。GetRow(i, buffer, 0, srcImage.BytesPerLine)RasterBufferConverter。转换(缓冲区,0,srcImage。宽度,srcImage。BitsPerPixel,destImage。BitsPerPixel,srcImage。订单,destImage。订单,没有什么,没有什么,0)destImage。SetRow(i, buffer, 0, destImage.BytesPerLine)I += 1循环destImage.Release ()srcImage.Release ()'将目标图像保存回磁盘编解码器。保存(destImage, destFileName, RasterImageFormat.Bmp, 16)“打扫干净”srcImage.Dispose ()destImage.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
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
