我使用一个由o2Solutions处理名为PDF4Net的PDF文件的库。我在XP和Server 2003上遇到问题,其中lib无法正确识别图像的色彩空间,并错误地将它们绘制在页面上,从而歪曲了图像。您可以指定要显式绘制的图像的色彩空间,而我试图以编程方式找出图像所处的色彩空间。我偶然发现:
How to detect if a jpeg contains cmyk color profile?
我使用的功能:
protected bool isFileACMYKJpeg(System.Drawing.Image someImage)
{
System.Drawing.Imaging.ImageFlags flagValues = (System.Drawing.Imaging.ImageFlags)Enum.Parse(typeof(System.Drawing.Imaging.ImageFlags), someImage.Flags.ToString());
if (flagValues.ToString().ToLower().IndexOf("ycck") == -1)
{
return false;
}
return true;
}
但是,即使jpeg位于CMYK中,它也仅返回RGB。关于如何解决这个问题有什么想法吗?
c#大神给出的解决方案
你尝试过这样的事情吗?
protected bool isFileACMYKJpeg(System.Drawing.Image someImage)
{
return someImage.Flags.HasFlag(System.Drawing.Image.ImageFlags.ColorSpaceCmyk);
}
java.net.URI.create异常 - javajava.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…
System.out.printf不打印整数参数 - java我是Java编程的新手,无法从另一个类返回方法。这两个类都可以编译并成功运行。我可以从一个类中调用一个简单的int,但是当我想计算用户输入的两个输入整数时,我只会得到一个空格。这是我的计算课class calculations { public final int AGE = 53; public int numbers(int num1, int num2…
LeetCode题解计算机为什么是基于二进制的?可以是三进制么?二进制有什么好处?题解:为什么叫电子计算机?算盘应该没有二进制
LeetCode题解黑白圆盘一个圆盘被涂上了黑白二色,两种颜色各占一个半圆。圆盘以一个未知的速度、按一个未知的方向旋转。你有一种特殊的相机可以让你即时观察到圆上的一个点的颜色。你需要多少个相机才能确定圆盘旋转的方向?题解:可以用一个相机即可
LeetCode题解圆上任取三点构成锐角三角形的概率来自字节跳动的一道几何题题解:1/4