回复 6楼dlmonkey的帖子
您好,关于您提的两个问题,回答如下。
将一副图片中的某个矩形区域保存成为某个格式的图片、改变画像保存格式、调整文件大小。我一并回复给您。例子代码见下方。
答:首先将一副图片的某个区域保存成为图片的方法如下:
A.先创建一个空白图片,图片的大小由您选择的区域(Rectangle)来决定,
- RasterImage blankImage = new RasterImage(
- RasterMemoryFlags.Tiled,
- rectangle.Width,
- rectangle.Height,
- sourceImage.BitsPerPixel,
- sourceImage.Order,
- sourceImage.ViewPerspective,
- null, null, 0);
复制代码 B.然后使用快速合并命令将原始图片的这个区域和新图片合并起来,得到的结果就是您需要的那个区域图片
- CombineFastCommand command = new CombineFastCommand();
- command.DestinationImage = blankImage;
- command.DestinationRectangle = rectangle;
- command.SourcePoint = new LeadPoint(0, 0);
- command.Flags = CombineFastCommandFlags.SourceCopy;
- command.Run(sourceImage);
复制代码 C.将得到的图片blankImage保存为您想要的任何格式。
- _codecs.Options.Jpeg.Save.QualityFactor = 100;
- _codecs.Save(_viewer.Image, @"..\..\Pictures\result.jpg", RasterImageFormat.Jpeg, _viewer.Image.BitsPerPixel);
复制代码 上面的保存代码中,第一行QualityFactor 的意义就是质量,越大代表越质量越差,文件体积越小。你可以试试保存100和150的差别。
第二行保存格式RasterImageFormat.Jpeg,这是一个枚举里面列举了所有LEADTOOLS支持的图片格式。
以上,谢谢。 |