如何根据形状切割png图像?

How to cut the png image as per the shape?

我没有使用任何图像 processing/editing 工具的经验。我正在做一个项目,这需要我使用不同的形状。我可以使用 visio 创建不同的形状。但是却无法摆脱背后的白色背景。我只需要 shape not squared white background.Tried 在线但没有成功。

任何帮助将不胜感激。

谢谢, 象头神

绝对任何图像文件都必须包含在矩形框架内,这包括 png 和 SVG。

一些图像文件格式可以有所谓的 alpha 通道背景,这可以让您透过透明区域看到。

您要做的是在 Photoshop(或类似工具)中移除白色背景以暴露 alpha 通道背景,然后将其保存为透明。

例如在 Photoshop 中:

  1. 如果直接打开这张图,没有其他图层,双击有背景的图层,确认框确定。这会将您的平面图像变成分层图像

  2. Select 魔法棒工具,确保您拥有高容忍度集 (3) 用魔杖 selected 单击白色区域,在你的 selection 周围显示一个选取框(白色背景),然后点击删除将其删除。

您的图像现在应该有一个方格背景,这是透明的。

如果您现在转到文件 > 另存为 select png,您的图像现在应该保存为带有 alpha 背景。

请注意:如果这是针对网络的,还需要进一步优化,包括文件格式和文件大小,但这超出了这个问题的范围,但我鼓励您阅读 Gif 格式及其限制, 8 位和 24 位 png 的区别以及如何使用 SVG。

您可以使用 ImageMagick 在命令行中非常简单地完成此操作,它是免费的,并且安装在大多数 Linux 发行版上,并且可用于 OSX 和 Windows。

基本上,你想让你的白色透明,所以你会这样做

convert shape.png -transparent white result.png

如果你的白色有点灰白,你可以允许一些变化 fuzz 如下:

convert shape.png -fuzz 10% -transparent white result.png

我添加了棋盘格背景只是为了让您可以在 Whosebug 的白色背景上看到它——它实际上并不存在。

顺便说一句,您可能想 trim 到最小的边界矩形:

convert shape.png -fuzz 10% -transparent white -trim result.png

顺便说一下,您也可以使用 ImageMagick 绘制形状:

convert -size 150x150 xc: -fill none -stroke "rgb(74,135,203)" -draw 'stroke-width 90 ellipse 0,0 80,80 30,80' arc.png

查看 Anthony Thyssen 的优秀示例 here