如何使用ImageMagick将Alpha通道添加到我的PNG文件?

时间:2016-05-23 20:20:30

标签: icons imagemagick icns iconutil

我已经使用其他工具创建了几个Mac应用程序,我需要为其创建Apple图像。它们被创建为没有Alpha通道的PNG文件并存储在文件夹中。

我尝试执行以下命令:

iconutil -c icons myfolder.iconset

我遇到了多个错误,如下所示:

iconutil error: Unsuported image format

在阅读了这篇blog post以及Stack Overflow上的几篇文章后,我发现我需要在我的图片上设置一个alpha通道。 Apple Developer文档中未对此进行说明。

我尝试使用预览,但是从我所做的研究中,包括观看几个视频,我必须删除一个会弄乱我的图标的颜色,尤其是较小的图标。我的图标有黑色背景,试图去除它们上面的小白色对于较小的图标来说将是一场噩梦。

David Grayson对this link发表了一条评论,指出ImageMagick可用于添加Alpha通道。评论说,如果我为每个应该工作的png文件执行以下命令。

convert old_icon_16x16.png -define png:color-type=6 icon_16x16.png

但是当我执行此操作时,我收到以下错误:

Abort trap: 6

然后我转到主要ImageMagick网站引用的link作为示例。我尝试了以下命令。

convert old_icon_16x16.png -alpha off -alpha on icon_16x16.png

我收到以下错误:

Abort trap: 6

我不确定从哪里开始。

1 个答案:

答案 0 :(得分:0)

如果您收到AbortSegmentation Faults,则会在您的ImageMagick的编译/构建/链接中出现不匹配。

我建议您删除已安装ImageMagick的任何内容,然后重新开始使用homebrew,这是在OSX上安装ImageMagick的最简单方法。基本上,你转到Homebrew website并将一行内容复制并粘贴到终端进行安装(我不想在这里显示该行,以防将来发生变化,这会过时)

安装自制软件后,只需要:

brew install imagemagick

如果您希望看到支持X11,TIFF,fftw等的选项,请运行:

brew options imagemagick

<强>输出

--with-fftw
    Compile with FFTW support
--with-fontconfig
    Build with fontconfig support
--with-ghostscript
    Build with ghostscript support
--with-hdri
    Compile with HDRI support
--with-jp2
    Compile with Jpeg2000 support
--with-liblqr
    Build with liblqr support
--with-librsvg
    Build with librsvg support
--with-libwmf
    Build with libwmf support
--with-little-cms
    Build with little-cms support
--with-little-cms2
    Build with little-cms2 support
--with-openexr
    Build with openexr support
--with-openmp
    Compile with OpenMP support
--with-pango
    Build with pango support
--with-perl
    enable build/install of PerlMagick
--with-quantum-depth-16
    Compile with a quantum depth of 16 bit
--with-quantum-depth-32
    Compile with a quantum depth of 32 bit
--with-quantum-depth-8
    Compile with a quantum depth of 8 bit
--with-webp
    Build with webp support
--with-x11
    Build with x11 support
--without-freetype
    Build without freetype support
--without-jpeg
    Build without jpeg support
--without-libpng
    Build without libpng support
--without-libtiff
    Build without libtiff support
--without-magick-plus-plus
    disable build/install of Magick++
--without-opencl
    Disable OpenCL
--HEAD
    Install HEAD version

然后你可以这样做:

brew install imagemagick --with-hdri --with-librsvg

或者,如果您已经安装了ImageMagick,则可以使用以下命令更改已安装的选项:

brew reinstall imagemagick --with-x11 ...

正如格伦在评论中指出的那样,一个比你正在使用的命令更简单的命令可能是:

convert old_icon_16x16.png png32:icon_16x16.png

另请注意,convert从版本7开始变为magick - 尽管homebrew目前仍在提供第6版。