首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ImageMagick向我的PNG文件添加一个Alpha通道?

如何使用ImageMagick向我的PNG文件添加一个Alpha通道?
EN

Stack Overflow用户
提问于 2016-05-23 20:20:29
回答 1查看 1.5K关注 0票数 1

我已经用另一个工具创建了几个Mac应用程序,我需要为它创建苹果图像。它们被创建为没有alpha通道的PNG文件,并存储在文件夹中。

我试图执行以下命令:

代码语言:javascript
复制
iconutil -c icons myfolder.iconset

我有多个错误,如下所示:

代码语言:javascript
复制
iconutil error: Unsuported image format

在阅读了这个博客帖子和几篇关于堆栈溢出的帖子之后,我发现我的图像需要一个alpha通道。这一点在Apple Developer文档中没有说明。

我试着使用预览,但从我做的研究,包括看了几个视频,我将不得不删除一个颜色,会搞乱我的图标,特别是较小的。我的图标有一个黑色的背景,试图删除小的白色是他们的噩梦,对较小的图标。

大卫·格雷森( David )在此链接上发表评论称,ImageMagick可以用来添加alpha通道。注释说,如果我对每个png文件执行以下命令,那么应该可以工作。

代码语言:javascript
复制
convert old_icon_16x16.png -define png:color-type=6 icon_16x16.png

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

代码语言:javascript
复制
Abort trap: 6

然后,我访问了由主链接网站引用的这个ImageMagick作为例子。我试过以下命令。

代码语言:javascript
复制
convert old_icon_16x16.png -alpha off -alpha on icon_16x16.png

我得到了以下错误:

代码语言:javascript
复制
Abort trap: 6

我不知道从这里往哪里走。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-23 21:21:16

如果您正在获得AbortSegmentation Faults,那么您的ImageMagick的编译/构建/链接就有点不匹配了。

我建议您删除已安装的ImageMagick,并重新使用homebrew重新开始,这是在OSX上安装ImageMagick的最简单方法。基本上,您可以到自制网站复制并粘贴到终端中来安装它(我不想在这里显示这一行,以防它在将来发生变化,这样就过时了)。

一旦你安装了自制软件,它只是一个问题:

代码语言:javascript
复制
brew install imagemagick

如果希望看到支持X11、TIFF、fftw等的选项,只需运行:

代码语言:javascript
复制
brew options imagemagick

输出

代码语言:javascript
复制
--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

然后你可以这样做:

代码语言:javascript
复制
brew install imagemagick --with-hdri --with-librsvg

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

代码语言:javascript
复制
brew reinstall imagemagick --with-x11 ...

正如Glenn在注释中所指出的,一个比您使用的命令更简单的命令可能是:

代码语言:javascript
复制
convert old_icon_16x16.png png32:icon_16x16.png

另外,请注意,从版本7开始,convert就变成了magick --尽管homebrew目前仍在交付版本6。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37399832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档