kon*_*ung 16 png jpeg imagemagick image-processing gif
我正在使用ImageMagick将一些文件从一种格式转换为另一种格式.我总是认为.png文件应该像.jpg一样大/小,如果不小,并且肯定小于.gif.
但是,当我跑
convert photo.jpg photo.png
Run Code Online (Sandbox Code Playgroud)
我拿出的文件比原来的jpg大6倍.
原始jpg是一张约300x500像素,52 kb的常规照片.输出是相同尺寸的合适png,但大小约为307 kb?
是否有人知道hack正在发生什么?难道我做错了什么?
PS:
我在Debian和Windows上都尝试了相同的结果.
PPS:
此外,当我为此添加调整大小选项并调整为10000 x 10000.转换和调整大小到jpg需要几秒钟,但它的工作原理,如果我做同样的png,我jsut strt完全耗尽了内存
PPPS: 对于那些将此问题标记为PNG与GIF与JPEG与SVG重复的人- 何时最好使用?.请仔细阅读并理解问题.这不是重复,因为这个问题询问'关于以特定应用程序(图像magick)编程生成的文件.您标记为重复的问题是询问哪种图像格式更适合在网络上使用.两个不同的问题.
小智 16
这里要注意的关键是每种图像文件格式最适合特定用途.
JPEG代表"联合图像专家组".那就应该告诉你.JPG文件格式是针对照片进行优化的.它对于艺术品,徽标,渐变或平铺/图案背景等不太有效..JPG的DCT(Discreet Cosine Transform)工件(我们都知道并厌恶的"块状"工件)使用艺术线条和徽标比使用照片更加引人注目.
除了一个以外,PNG已经取代了GIF用于GIF所有优点的所有内容,并且只是因为没有出现明确的标准:动画.动画.GIF在网络上是众所周知的.动画.PNG有两个相互竞争的标准:APNG和MNG.
APNG在大多数现代浏览器中都受支持,并且也完全向后兼容(文件扩展名为.PNG,而不是.APNG,如果任何可以显示.PNG但不知道APNG被"馈送"到APNG的程序,它将会显示开发人员选择的替代图像,或者如果没有提供这样的替换,则显示动画的第一帧 - 就旧程序而言,它只是一个普通的单帧.PNG,只有一张图像在其中 - 其余部分被安全地忽略).Gecko(FF 等)和Presto(Opera)原生支持它,谷歌Chrome(使用Webkit)可以附加一个插件.
MNG拥有实际PNG格式开发团队的支持,但它是自己的格式,不向后兼容,但功能更强大,更灵活.目前,只有基于KHTML的浏览器(Konquerer)支持它:不是Trident(IE),Gecko,Webkit(Chrome,Chromium,Safari),也不是Presto.
除了GIF之外,PNG还可以做更好的事情(动画除外,除非通过APNG增强).在其他条件相同的情况下,.PNG在相同分辨率和位深度下几乎总是小于.GIF.与.GIF类似,.PNG可以在索引颜色(调色板)模式下支持每像素高达8位的颜色深度,但与.GIF(还有.JPEG)不同,它还支持每像素24位的直接颜色模式.
在任何一种模式下,它都可以添加8位的alpha透明度,不像.GIF(它只能做索引的颜色透明度[从调色板中挑选一种颜色,用100%的透明度替代,也就是不可见] - .PNG也可以做到这一点).Alpha透明度比索引透明度产生更好的结果,因为像素可以是部分透明的,而对于索引透明度(.GIF中唯一可用的类型),您的选择是不透明的或不可见的.这使得非矩形对象周围的"晕圈"在背景颜色下放置,而.GIF或索引的.PNG最初是"乱蓬蓬"的.它还会抑制能够发挥诸如发光,阴影,当然还有透明的彩色物体(没有抖动)等效果.Alpha透明度可以轻松地完成所有这些事情,几乎可以在任何背景下进行(白色背景上的发光很大程度上是不可见的,并且黑色上的阴影将是不可见的,但你知道我的意思).
是的,您可以在索引颜色 .PNG中执行8位Alpha透明度!你猜怎么着?即使是Microsoft Internet Explorer 6也可以显示那些很好的,完整的透明度!它只是32位.PNG(24位RGB颜色+ 8位alpha)IE6窒息并显示为灰色!
可以导出具有Alpha透明度的PNG8(索引颜色)的最着名的程序是Adobe(以前的Macromedia)Fireworks.Photoshop"Save for Web and Devices"(至少从CS3开始)无法做到这一点,尽管在Adobe收购Macromedia时基本上已经从Fireworks中取消了该功能.它可以保存PNG8,但只能使用索引颜色透明度.
无论如何,完整的32位(甚至24位)PNG将会非常大,但通常比最接近的等效.BMP或.TGA或未压缩的.TIFF或其他一些小得多(除非你试图用它 - 这就是JPEG的用途!).它通常会比.RLE(无损压缩.BMP)或无损压缩.TIF小一些,其他条件相同.
与大多数其他格式不同,PNG还支持48位RGB颜色,可选16位Alpha透明度,质量极高(远高于大多数显示器可显示的).这些最适合用作中间存储格式,以保留来自高位深度扫描仪或相机(RAW模式)或某些此类的信息.尽管无损压缩,它们的文件大小仍然很大.
.PNG目前无法做的一件事是处理非RGB颜色空间,例如CMYK或L*a*b.
简而言之:
PNG格式可以提供每像素24位或每像素8位的图像.JPG是24位格式,但它使用有损压缩来显着减小文件大小.PNG和GIF都使用无损压缩,但GIF仅适用于8位,因此它要求您的图像具有256色或更少 - 这通常会产生更加颗粒的图像.
尝试使用ImageMagick中的-colors和-dither选项来减少PNG输出中的位数.此时,它应该与GIF文件大小相当.如果您需要进一步减少它,可以使用实用程序来优化PNG.
.jpeg文件格式是一种有损格式,它会丢弃信息.这样可以获得良好的压缩比..gif文件格式没有损失但丢失了其他信息,它只支持256种颜色..png文件格式没有损失并保留了颜色范围.
| 归档时间: |
|
| 查看次数: |
12947 次 |
| 最近记录: |