标签: imagemagick

使用ImageMagick检测Alpha通道

脚本

我想保存带有alpha透明度的.png图像和没有alpha透明度的图像.jpg(即使它们的原始格式是.png.gif).如何使用ImageMagick检测图像是否具有Alpha透明度?

png jpeg alpha image imagemagick

26
推荐指数
4
解决办法
1万
查看次数

如何用ImageMagick压缩gif图像的大小?

我想用convert命令减小gif图像的大小.目前我使用的标志-depth 8,-type Grayscale,-depth 8-resize '400x300>'.

我还确保[0]在源图像文件名之后删除任何GIF动画的第一帧.

但文件有时仍然太大(超过100K).即使我牺牲分辨率,我也想尽量让它们变小.我怎样才能做到这一点?

imagemagick

26
推荐指数
3
解决办法
3万
查看次数

使用PHP进行PDF到JPG的转换

我正在尝试使用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一样大的正确方法(在纸上)

php pdf imagemagick imagick

26
推荐指数
4
解决办法
6万
查看次数

如何使用Imagick合并和屏蔽图像?

我对图像处理知之甚少,甚至使用的术语也少,所以请耐心等待.

基本上,我想合并两个图像,其中一个将作为一个掩码.该图像看起来像这样:
例
蓝色和黄色背景在现实中都是透明的.

此图像用作常规照片的遮罩."伸出"圆圈的部分照片需要"裁剪"(变得不可见),同时内部仍然可见.
因此,蓝色区域中的所有内容都是隐形的,黄色区域中的所有内容都是可见的.

老实说,我不知道如何去做,所以任何帮助将不胜感激!

编辑:
我使用的是Imagick的API版本,而不是命令行版本

编辑:
为了了解我想要实现的目标,这里有一个例子.

输入图像因此:
在此输入图像描述
这是掩模图像,始终相同

在此输入图像描述
这是动态图片的一个例子

在此输入图像描述
这就是最终结果应该是什么样子

php imagemagick imagick

26
推荐指数
1
解决办法
3万
查看次数

ImageMagick和动画gif的透明背景

我有一个动画作为一批.png文件(100个文件).源.png文件中的背景是透明的.我想将它们转换成单个动画gif.我试过这个命令:

convert -delay 0 -loop 0 -alpha set *.png ani.gif
Run Code Online (Sandbox Code Playgroud)

但结果如下(绿色是HTML页面背景):

在此输入图像描述

我应该如何删除后续帧中的每一帧?

imagemagick

26
推荐指数
2
解决办法
1万
查看次数

Rails Paperclip插件 - 调整大小的样式选项

所以,我想将图像调整为FIXED宽度,但比例高度.

我一直在尝试各种各样的运营商:

380x242#380x242> 380!x242 380x242 <

它们都没有达到预期的效果.有帮助吗?我希望它填充或调整宽度为380,然后调整高度/缩小高度所用的相同因子,将图像缩小或调整为380宽.

ruby-on-rails imagemagick paperclip

25
推荐指数
3
解决办法
1万
查看次数

将PDF转换为CMYK(识别识别CMYK)

我很难将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)

linux pdf imagemagick cmyk ghostscript

25
推荐指数
2
解决办法
3万
查看次数

使用ImageMagick将EXIF数据提取为文本

有没有一种简单的方法可以使用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有一个简单的方法吗?

exif imagemagick

25
推荐指数
1
解决办法
2万
查看次数

ImageMagick:此图像格式没有解码委托`'@ error/construct.c/ReadImage/504

问题: ImageMagick转换无法裁剪图像.看起来它无法识别图像类型?

我试过的:

我在网上搜索过,我看过几个类似的问题,但不是我的.我尝试过他们的解决方案,包括

  • 通过brew卸载并重新安装ImageMagick.
  • 识别 - 列表格式(JPEG,GIF,PNG,TIFF等都在那里,并且都具有rw权限)
  • convert -version (png是内置委托之一)
  • 转换pic1.png pic1-jpg.jpg (这很好)
  • 转换pic1-jpg.jpg pic1-jpg.jpg (这很好)
  • 转换pic1-jpg.jpg 805X972 + 34 + 94 pic1-jpg-crop.jpg (这给出了与png相同的错误,如下所示)

 

我正在使用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)我可以得到有用的信息

谢谢!

macos bash image imagemagick imagemagick-convert

25
推荐指数
4
解决办法
3万
查看次数

什么方面起来了? - 自动图像旋转算法

像Google Picasa这样的软件很好地证明了软件可以找出没有Exif-Data拍摄照片的方式,因为它并非在每台相机中都可用.

是否有记录的算法输出图像是否必须旋转?我想在不使用EXIF数据的情况下找出轮换.如果可能的话,我会想用ImageMagick来做这件事.

imagemagick image-processing

24
推荐指数
4
解决办法
4351
查看次数