我想保存带有alpha透明度的.png图像和没有alpha透明度的图像.jpg(即使它们的原始格式是.png或.gif).如何使用ImageMagick检测图像是否具有Alpha透明度?
我想用convert命令减小gif图像的大小.目前我使用的标志-depth 8,-type Grayscale,-depth 8和-resize '400x300>'.
我还确保[0]在源图像文件名之后删除任何GIF动画的第一帧.
但文件有时仍然太大(超过100K).即使我牺牲分辨率,我也想尽量让它们变小.我怎样才能做到这一点?
我正在尝试使用PHP帮助将PDF转换为IMG(JPG).
我正在使用imagick扩展.
这是我的代码
$fp_pdf = fopen($pdf, 'rb');
$img = new imagick(); // [0] can be used to set page number
$img->readImageFile($fp_pdf);
$img->setImageFormat( "jpg" );
$img->setImageCompression(imagick::COMPRESSION_JPEG);
$img->setImageCompressionQuality(90);
$img->setResolution(300,300);
$img->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH);
$data = $img->getImageBlob();
Run Code Online (Sandbox Code Playgroud)
我的源文件pdf文件有正确的尺寸(210x297毫米,像A4一样).一切看起来都不错.但我的jpg页面尺寸为842x595像素,DPI为72.
和img文件在纸上然后pdf,当我打印它时更小.
什么是从pdf制作图像文件并使其像pdf一样大的正确方法(在纸上)
我对图像处理知之甚少,甚至使用的术语也少,所以请耐心等待.
基本上,我想合并两个图像,其中一个将作为一个掩码.该图像看起来像这样:

蓝色和黄色背景在现实中都是透明的.
此图像用作常规照片的遮罩."伸出"圆圈的部分照片需要"裁剪"(变得不可见),同时内部仍然可见.
因此,蓝色区域中的所有内容都是隐形的,黄色区域中的所有内容都是可见的.
老实说,我不知道如何去做,所以任何帮助将不胜感激!
编辑:
我使用的是Imagick的API版本,而不是命令行版本
编辑:
为了了解我想要实现的目标,这里有一个例子.
输入图像因此:

这是掩模图像,始终相同

这是动态图片的一个例子

这就是最终结果应该是什么样子
我有一个动画作为一批.png文件(100个文件).源.png文件中的背景是透明的.我想将它们转换成单个动画gif.我试过这个命令:
convert -delay 0 -loop 0 -alpha set *.png ani.gif
Run Code Online (Sandbox Code Playgroud)
但结果如下(绿色是HTML页面背景):

我应该如何删除后续帧中的每一帧?
所以,我想将图像调整为FIXED宽度,但比例高度.
我一直在尝试各种各样的运营商:
380x242#380x242> 380!x242 380x242 <
它们都没有达到预期的效果.有帮助吗?我希望它填充或调整宽度为380,然后调整高度/缩小高度所用的相同因子,将图像缩小或调整为380宽.
我很难将ImageMagick identify用于识别PDF作为CMYK.
基本上,假设我正在构建此文件test.tex,使用pdflatex:
\documentclass[a4paper,12pt]{article}
%% https://tex.stackexchange.com/questions/13071
\pdfcompresslevel=0
%% http://compgroups.net/comp.text.tex/Making-a-cmyk-PDF
%% ln -s /usr/share/color/icc/sRGB.icm .
% \immediate\pdfobj stream attr{/N 4} file{sRGB.icm}
% \pdfcatalog{%
% /OutputIntents [ <<
% /Type /OutputIntent
% /S/GTS_PDFA1
% /DestOutputProfile \the\pdflastobj\space 0 R
% /OutputConditionIdentifier (sRGB IEC61966-2.1)
% /Info(sRGB IEC61966-2.1)
% >> ]
% }
%% http://latex-my.blogspot.com/2010/02/cmyk-output-for-commercial-printing.html
%% https://tex.stackexchange.com/questions/9961
\usepackage[cmyk]{xcolor}
\begin{document}
Some text here...
\end{document}
Run Code Online (Sandbox Code Playgroud)
如果我然后尝试识别生成的test.pdf文件,我将其作为RGB,无论我尝试过什么选项(至少根据源中的链接) - 然而,其中的颜色将保存为CMYK; 对于上面的来源:
$ grep -ia 'cmyk\|rgb\| k' test.pdf
0 0 0 1 k …Run Code Online (Sandbox Code Playgroud) 有没有一种简单的方法可以使用ImageMagick从图像文件中提取EXIF数据作为文本.类似于IPTC数据的方式:
convert input.jpeg data.iptc <= binary data
convert input.jpeg data.iptctext <= textual data
Run Code Online (Sandbox Code Playgroud)
遗憾的是,这不适用于EXIF数据:
convert input.jpeg data.exif <= binary data
convert input.jpeg data.exiftext <= not working
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用
identify -verbose input.jpeg
Run Code Online (Sandbox Code Playgroud)
但是我必须解析结果才能搜索所有EXIF和IPTC数据.
那么使用纯ImageMagick有一个简单的方法吗?
问题: ImageMagick转换无法裁剪图像.看起来它无法识别图像类型?
我试过的:
我在网上搜索过,我看过几个类似的问题,但不是我的.我尝试过他们的解决方案,包括
我正在使用Mac OSX El Capitan,终端中的其他一切工作正常.ImageMagick已经安装好了.
当我跑:
$ convert /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487.png 805X972+34+94 /Users/Innovate/Desktop/crop/2015-04-26-GinaDate13_487-cropped.png
Run Code Online (Sandbox Code Playgroud)
我明白了:
转换:无法打开图像`805X972 + 34 + 94':没有这样的文件或目录@ error/blob.c/OpenBlob/2702.
convert:没有用于此图像格式的解码委托`'@ error/construct.c/ReadImage/504.
没有解码委托给这个图像格式''@ error/construct.c/ReadImage/504
在这个问题的其他帖子中,人们得到了
为此图像格式"PNG"转换无解码委托
或者类似(除了图像类型或文件名和图像类型)
但是,我对图像文件类型没有任何说明......
我没有尝试卸载ImageMagick,然后从源手动安装它,因为我对此没有信心......(此解决方案显示:https://stackoverflow.com/a/34633084/5398660)
有谁知道可能会发生什么?
另外,任何人都可以帮我解释@ error/construct.c/ReadImage/504部分吗?我在看的代码constitute.c ,但我不知道,如果从它来解决我的问题(我只知道一点的C)我可以得到有用的信息
谢谢!
像Google Picasa这样的软件很好地证明了软件可以找出没有Exif-Data拍摄照片的方式,因为它并非在每台相机中都可用.
是否有记录的算法输出图像是否必须旋转?我想在不使用EXIF数据的情况下找出轮换.如果可能的话,我会想用ImageMagick来做这件事.