如何使图像背景透明?
How to make image background transparent?
我有两张图片:
http://www.eurocopter.in/contest/images/loader33.gif
如果您看到第一张图片没有背景。所以背景看起来是白色的。第二张图片有黑色背景。
问题一:我们所说的第一类图片是什么?
问题二:那种图片怎么制作?
问题三:如何将第二种图片转化为第一种图片?
是的,你可以,你必须使用某种照片编辑软件,如 Photoshop,尝试按照本指南中的步骤操作,让我知道如何进行。
它们是动画 GIF,第一个具有透明背景。您可以使用 ImageMagick(安装在大多数 Linux 发行版上并且 OSX 和 Linux 免费提供)将图像分成单独的帧,如下所示:
convert -coalesce type1.gif frame%02d.gif
这将为您提供以下 18 帧作为单独的图像
frame00.gif frame04.gif frame08.gif frame12.gif frame16.gif
frame01.gif frame05.gif frame09.gif frame13.gif frame17.gif
frame02.gif frame06.gif frame10.gif frame14.gif
frame03.gif frame07.gif frame11.gif frame15.gif
frame00.gif
如果你把它们做成这样的蒙太奇,你可以一次看到它们:
convert -coalesce type1.gif miff:- | montage -tile x4 -frame 5 - montage.gif
您可以找到有关每个帧的信息,例如它的大小,如下所示:
identify type1.gif
type1.gif[0] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[1] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[2] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[3] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[4] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[5] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[6] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[7] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[8] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[9] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[10] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[11] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[12] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[13] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[14] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[15] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[16] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[17] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
您可以像这样将所有帧重新组合在一起:
convert frame* -loop 0 -delay 20 anim.gif
您可以尝试从第二个中删除黑色背景,使其更像第一个,使用这样的命令。您可能需要 fiddle 加上 fuzz
因素:
convert type2.gif -fuzz 15% -transparent black new.gif
我有两张图片:
http://www.eurocopter.in/contest/images/loader33.gif
如果您看到第一张图片没有背景。所以背景看起来是白色的。第二张图片有黑色背景。
问题一:我们所说的第一类图片是什么?
问题二:那种图片怎么制作?
问题三:如何将第二种图片转化为第一种图片?
是的,你可以,你必须使用某种照片编辑软件,如 Photoshop,尝试按照本指南中的步骤操作,让我知道如何进行。
它们是动画 GIF,第一个具有透明背景。您可以使用 ImageMagick(安装在大多数 Linux 发行版上并且 OSX 和 Linux 免费提供)将图像分成单独的帧,如下所示:
convert -coalesce type1.gif frame%02d.gif
这将为您提供以下 18 帧作为单独的图像
frame00.gif frame04.gif frame08.gif frame12.gif frame16.gif
frame01.gif frame05.gif frame09.gif frame13.gif frame17.gif
frame02.gif frame06.gif frame10.gif frame14.gif
frame03.gif frame07.gif frame11.gif frame15.gif
frame00.gif
如果你把它们做成这样的蒙太奇,你可以一次看到它们:
convert -coalesce type1.gif miff:- | montage -tile x4 -frame 5 - montage.gif
您可以找到有关每个帧的信息,例如它的大小,如下所示:
identify type1.gif
type1.gif[0] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[1] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[2] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[3] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[4] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[5] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[6] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[7] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[8] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[9] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[10] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[11] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[12] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[13] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[14] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[15] GIF 100x100 100x100+0+0 8-bit sRGB 64c 29.2KB 0.000u 0:00.000
type1.gif[16] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
type1.gif[17] GIF 100x100 100x100+0+0 8-bit sRGB 128c 29.2KB 0.000u 0:00.000
您可以像这样将所有帧重新组合在一起:
convert frame* -loop 0 -delay 20 anim.gif
您可以尝试从第二个中删除黑色背景,使其更像第一个,使用这样的命令。您可能需要 fiddle 加上 fuzz
因素:
convert type2.gif -fuzz 15% -transparent black new.gif