XP中TIF文件的背景颜色问题

时间:2012-12-17 19:59:58

标签: image windows-7 background windows-xp

我在XP和Windows 7上的图像文件存在问题,但它在Windows 2008框中完美运行。出现实际问题,问题中的TIF图像是具有白色背景和发票详细信息的发票表单图像。当我在2008年打开它时它以白色背景打开但是当我在XP和Windows 2008中打开它时,它变成带有白色文本的黑色背景。我正在寻求这方面的帮助。 1.这是操作系统问题吗? 2.如果是操作系统问题,如何使用任何代码(最好是C#)将背景颜色更改为白色,因为我正在使用C#进行开发。

提前致谢

萨蒂什南比亚

2 个答案:

答案 0 :(得分:1)

我们可以简单地交换Palettes然后问题将由此解决......

         Dim plet As ColorPalette = Image.Palette
         plet.Entries(1) = c1
         plet.Entries(0) = c2
         Image.Palette = plet

但是要确定有问题的图像,即因为我们必须将其应用于仅有问题的图像。否则正确的图像也会反转。

答案 1 :(得分:0)

可能是CMYK或透明度问题,或者是以16位颜色格式保存(每个组件)。

但如果不访问一个实际文件进行分析,很难确定。

更新

问题1:对于TIFF文件 - 在Windows XP上,Windows照片查看器及其基础技术会忽略Photometric标记,TIFF文件使用单个位平面(2种颜色)。这是一个错误。

解决方案1a:手动输入(切换现有的)调色板条目以强制位0(关闭)黑色和位1(开启)白色。

解决方案1b:将文件保存为RGB文件/灰度级会更理想,但在GDI +中,对8位灰度文件IMO没有很好的支持。

问题2:字节顺序。在Windows XP上,字节顺序(big-endian)可能会导致问题。通常,TIFF以Motorola大端格式(MSB)保存,但在Windows XP上,TIFF文件假定为小端格式。

解决方案2a:为新文件保存带有小端序(英特尔)的新TIFF文件

解决方案2b:如果重新保存(重新扫描)不是现有文件的选项,请重新排序现有文件的内容,从LSF(Intel)切换到MSF(Motorola)的字节顺序。更新标头以指示新的字节顺序(替换MM等等)。