←选择平台

RasterBufferConverter类

总结
提供转换图像数据缓冲区的支持。
语法
c#
VB
c++
公共静态RasterBufferConverter
公共mustlinheritNotInheritableRasterBufferConverter
公共ref类RasterBufferConverter摘要密封
例子

此示例以每像素24位的速度加载图像,并以每像素16位的速度创建新图像,并使用转换方法将数据从每像素24位转换为每像素16位。

c#
VB
使用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 ()昏暗的作为整数= 0i < 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 ()结束公共NotInheritableLEAD_VARS公共常量ImagesDir作为字符串“C: \ LEADTOOLS21 \ Resources \图片”结束
需求

目标平台

Leadtools组装
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。