标签: imagemagick-convert

转换:未授权的`aaaa` @ error/construct.c/ReadImage/453

我想通过convertImageMagick 创建一个验证码pic .

我遵循这个,但有一些问题.

输入在我的linux shell中:

convert -background white -fill black -font FreeSerif-Bold -pointsize 36 label:'adfgh' ./test.png
Run Code Online (Sandbox Code Playgroud)

错误是:

转换:未授权adfgh@ error/construct.c/ReadImage/453.转换:缺少图像文件名./test.png@ error/convert.c/ConvertImageCommand/3015

我的ImageMagick:版本:6.7.2-7,我安装它yum install ImageMagick.

我很无能为力.有什么建议吗?

imagemagick imagemagick-convert

274
推荐指数
8
解决办法
10万
查看次数

ImageMagick安全策略'PDF'阻止转换

Imagemagick安全策略似乎不允许我执行从pdf到png的转换.转换其他扩展似乎正在起作用,而不是来自pdf.我没有改变任何imagemagick设置,因为我安装它...我正在使用Arch Linux,如果操作系统很重要.

user@machine $ convert -density 300 -depth 8 -quality 90 input.pdf output.png
convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
convert: no images defined `output.png' @ error/convert.c/ConvertImageCommand/3288.
Run Code Online (Sandbox Code Playgroud)

pdf imagemagick imagemagick-convert

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

ImageMagick:PNG的无损最大压缩?

我想使用ImageMagick保存到无损PNG时达到最大压缩量.我正在批量转换许多PSD.

我尝试了一些东西,但它看起来像我生成的PNG图像不像原始图像那样清晰,尽管我的妻子看不到它.

这些是我正在玩的当前论点:

convert -depth 24 -define png:compression-filter=1 \ 
  -define png:compression-level=9 -define png:compression-strategy=2 
Run Code Online (Sandbox Code Playgroud)

根据:http: //www.imagemagick.org/script/command-line-options.php#define

http://www.w3.org/TR/PNG-Filters.html

这意味着:

  • 压缩过滤器是1(Sub)
  • 最大压缩等级9
  • 压缩策略是2 huffman_only(所以没有过滤,虽然这个压缩过滤器应该是无损的)

根据文档:"有效值为0到4,表示默认,过滤,huffman_only,rle和固定的ZLIB压缩策略.如果您使用的旧zlib不支持Z_RLE(1.2.0之前)或Z_FIXED(之前) 1.2.2.2),值3和4分别使用zlib默认策略."

顺便说一句,我的图像是960x720像素.

(如果我使用默认压缩策略0,我会得到大文件.可能是9的压缩过滤器和0的压缩策略产生较小尺寸的图像,但我仍然不确定它是否是无损的).

问题:

  1. 这是无损压缩吗?如果没有,错误在哪里?
  2. 知道如何实现更好的无损压缩吗?

png imagemagick libpng imagemagick-convert

33
推荐指数
5
解决办法
4万
查看次数

将ImageMagick版本升级到6.7.8后,ImageMagick将pdf转换为jpeg的文本质量很差

升级后ImageMagick,将pdf转换为jpeg时,文本质量降低了:

旧图像 在此输入图像描述

新图片 在此输入图像描述 转换命令: convert foo.pdf foo.jpeg

旧ImageMagick版本:

[root@home]#  convert -version
Version: ImageMagick 6.2.8 05/07/12 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
Run Code Online (Sandbox Code Playgroud)

生成的文件大小:

-rw-r--r-- 1 root root 139K Apr  2 16:11 foo-0.jpeg
-rw-r--r-- 1 root root 130K Apr  2 16:11 foo-1.jpeg
-rw-r--r-- 1 root root 334K Mar 24 14:27 foo.pdf
Run Code Online (Sandbox Code Playgroud)

升级ImageMagick后

[root@home]#  convert -version
Version: ImageMagick 6.7.8-10 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
Run Code Online (Sandbox Code Playgroud)

生成的文件大小:

-rw-r--r-- 1 root root  60K Apr …
Run Code Online (Sandbox Code Playgroud)

imagemagick pdf-conversion imagemagick-convert

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

如何将给定文件夹中的所有文件(格式不同)转换为不同的文件类型

我有一个包含许多不同类型图像的文件夹(png,jpg,jpeg,bmp,pdf),我想使用imagemagick将它们全部转换为png(例如).

是否有一个命令可以执行此操作?如果没有,我该怎么办呢?

谢谢.

imagemagick imagemagick-convert

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

使用单个命令将多页pdf转换为多个页面

我想有效地将​​多页pdf转换为单页图像.

我已经知道如何使用imagemagick一次执行此页面.例如,

convert x.pdf[2] x3.jpg
Run Code Online (Sandbox Code Playgroud)

将给我作为图像的PDF格式的第3页.因此,如果我使用识别确定 pdf中有多少页面,那么我可以循环并将pdf中的所有页面转换为图像.然而,这种方法可能需要一段时间.例如,15页的pdf可能需要15-30秒.

根据我在其他地方(也在imagemagick论坛上)看到的答案,以下imagemagick命令应该将pdf分成多个图像.

convert x.pdf x-%0d.jpg
Run Code Online (Sandbox Code Playgroud)

但所有这一切最终都是创建名为x-0.jpg的第一页

作为替代方案,我尝试使用具有突发功能的pdftk.我在那里遇到的问题是爆炸在所有情况下都不起作用.它适用于某些pdf,而不适用于其他一些.

关于如何改进事物的任何建议都会有所帮助.

我的操作系统是Mac OSX Lion,但我确实需要在CentOS 6上运行.

imagemagick ghostscript imagemagick-convert

29
推荐指数
4
解决办法
2万
查看次数

ImageMagick:转换为转换后的图像保持相同的名称

我正在将.psd转换为文件夹内的.png文件.如何在不同扩展名的文件夹中保留每个文件的相同名称?

例如,我输入文件夹图像,然后从终端I执行

$ convert *.psd *.png
Run Code Online (Sandbox Code Playgroud)

但它给.png命名只是与适当的.psd图像不一样的数字.

imagemagick imagemagick-convert

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

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万
查看次数

ImageMagick:将图像转换为PDF,A4页面大小和图像适合页面

我想将不同的图像格式(bmp,jpg,gif,png,tiff-incluging multipaged)转换为A4格式的PDF格式,并且图像适合页面(必要时调整大小).图像应位于页面的中心,我想定义一个偏移量.我尝试了下面的代码,但顶部没有偏移,图像质量非常差.

convert png.png -gravity North -resize 500x500 -quality 100 -page a4x5x5 myout.pdf
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

感谢任何帮助,Mariusz

imagemagick imagemagick-convert

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

尝试执行安全策略“PDF”不允许的操作@ error/constitute.c/IsCoderAuthorized/408

我正在本地 ubuntu 20.04 机器上运行一个 laravel 项目,该项目在另一台机器上运行良好。该项目使用 Image Magic 将 PDF 转换为 PNG。当我调用将 PDF 转换为 PNG 的功能时,出现以下错误:

ImagickException 尝试执行安全策略“PDF”不允许的操作@ error/constitute.c/IsCoderAuthorized/408

该函数看起来:

public function show($id)
    {
        $book = Book::all()->first();
        $file = public_path('' . $book->pdf);
        $count = 0;
        $im = new \Imagick($file);
        $blobList=[];
        do {
            $page = new \Imagick();
            $page->setResolution(300,300);
            $page->readImage($file . '['.$count.']');
            $page->setImageFormat("jpeg");
            header("Content-Type: image/jpeg");
            $image = $page->getImageBlob();
            array_push($blobList,$image);
            $count++;
        } while (5> $count);
//        $im->resizeImage(200,200,1,0);
        return view('notice/showbook', compact('book', 'blobList'));
    }
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经安装了 image magic 和 gs,并policymap.xml参考这个问题的接受答案进行了更改

然而,错误仍然存​​在。请帮忙!

谢谢,

php imagemagick laravel imagemagick-convert

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