找回密码
 立即注册

QQ登录

只需一步,快速开始

leadcom

论坛元老

24

主题

96

帖子

2万

积分

论坛元老

积分
27812

活字格认证

[已处理] 灰度图片问题

leadcom
论坛元老   /  发表于:2015-9-23 09:42  /   查看:5988  /  回复:5
在rasterimage中判定这张图片是不是灰度图片是Rasterimage中有一个叫isgray的属性。如果为true则为灰度图片。
但是我将图片转换为灰度图片后,isgray的属性仍然为false.
如何才能确定这张图片是不是灰度图片。
转灰度图片代码:

  1. GrayscaleCommand command= new GrayscaleCommand();
  2. command.BitsPerPixel = 8;
  3. command.Run(RasterImage);
复制代码


同时我需要将图片转换为4位16级灰度图片。
代码:
  1.   
  2.                   ColorResolutionCommand cmd22 = new ColorResolutionCommand();
  3.                     cmd22.Mode = ColorResolutionCommandMode.InPlace;
  4.                     cmd22.BitsPerPixel = 4;
  5.                     cmd22.Order = RasterByteOrder.Gray;
  6.                     cmd22.DitheringMethod = RasterDitheringMethod.None;
  7.                     cmd22.PaletteFlags = ColorResolutionCommandPaletteFlags.Optimized;
  8.                     cmd22.Run(RasterImage);
复制代码

转换后他是4位16色的图片,但不是灰度图片。

5 个回复

倒序浏览
iceman
社区贡献组   /  发表于:2015-9-23 18:18:00
沙发
回复 1楼leadcom的帖子

需要使用 GrayscaleMode 接口来判断,详细请参考:
https://www.leadtools.com/help/l ... ayscalecommand.html
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-9-24 10:00:00
板凳
这个4位16级的灰度命令还是没有用。
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-9-24 13:43:00
地板
回复 3楼leadcom的帖子

您好,我做了验证是没有问题的。
官方给的回答是这样:
如果您想转换一张图片到4Bit灰度的话,请先使用GrayscaleCommand将图片转为8bit灰度图,
然后使用ColorResolutionCommand设置为4Bit并将PaletteFlags 设置为Optimized。
是否是灰度图片,请使用GrayscaleMode 来判断,
GrayscaleMode 的值有下面四个:
None:Not grayscale 非灰度图
OrderedNormal        Normally ordered grayscale (dark to light) 正常排序的灰度图(由暗到亮)
OrderedInverse        Reverse ordered grayscale (light to dark) 反向排序的灰度图(由亮到暗)
NotOrdered        Unordered grayscale 没有排序的灰度图
所以如果转换的结果显示图片的GrayscaleMode 只要不为None,就是灰度图。
我做了一个简单的程序用来验证这段逻辑,附件是我做的Demo,您可以使用。
打开一张照片,显示灰度模式为None,24bit


先转换为8bit灰度图,显示灰度模式为OrderNormal,8bit


再转换为4bit灰度图,显示灰度模式为NotOrdered,4bit


源代码:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
leadcom
论坛元老   /  发表于:2015-9-24 14:15:00
5#
回复 使用道具 举报
AvoCaDolol活字格认证 Wyn认证
社区贡献组   /  发表于:2015-9-24 18:01:00
6#
客气了,有其他问题欢迎继续交流。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部