可能很多人在这里读了一些网络漫画。 Drowtales是我最喜欢的,但除此之外。
很长一段时间以来,我一直在唠叨我的想法:webcomics是绘制的图片。它们不是照片。应该有很多冗余(更少的颜色,更平坦的颜色区域等),因此它们应该能够以相当高的速率轻松压缩,同时仍然保持无损质量。似乎压缩它们的最佳工具似乎是旧的有损JPEG。
怎么样?是不是发明了更好的东西?我不是数据压缩方面的专家,所以我自己在寻找更好的算法方面的微薄尝试却毫无结果。我能找到的最好的是Pngcrush,但在压缩方面仍然落后于JPEG。
我想听听专家的意见。我的这个想法是愚蠢的,注定要失败吗?或者有没有人找到或者我可以研究的方式?
这当然来自减少加载时间的自私愿望。 :)
添加:有些人似乎忽略了这一点,所以我会澄清:
Webcomic图像应该具有很多冗余,因此它们应该易于压缩。 难道不能以某种方式压缩它们以使它们既无损且小于JPEG?或者至少压缩它们比JPEG更好,同时仍然保持质量。
由于它们适用于 web ,因此专用压缩器仍然可能会发出PNG或JPEG - 只需使用修改后的算法进行压缩即可获得更好的结果。
答案 0 :(得分:14)
毫无疑问,这是外观与表现之间的平衡。除非专门针对漫画使用自定义压缩算法,我认为你能做的最好的就是尝试使用JPEG压缩级别,直到你得到一个合理的大小,但对于特定的漫画仍然看起来很好。
答案 1 :(得分:6)
漫画的问题在于使用了很多渐变色。例如,使用Photoshop在计算机上着色漫画时的一种常见技巧是,如上所述,通过阻挡纯色区域开始。然而,这些坚固的区域然后使用各种技术进行精炼,从使用喷枪工具的手触摸到覆盖刻度填充,躲避和燃烧工具等。
结果是一幅更像自然图像的图像 - 这正是漫画艺术家正在努力的目标 - 因此它可以通过JPEG等使用的有损算法进行更好的压缩。
答案 2 :(得分:5)
完全不同的方法是使用像SVG这样的矢量格式渲染漫画图像。这将捕获绘图的本质(在这里填充,弧在这里,在这里行等),而不必尝试对结果图像进行光栅压缩。
答案 3 :(得分:4)
我的数据并未证实您的假设。我的favorite webcomic已作为PNG发布。使用默认压缩质量将167K PNG文件转换为JPEG会生成199K JPEG文件。收支平衡介于-quality 60
和-quality 65
之间,这对于JPEG来说质量相当低。因此,可疑内容已经压缩无损且小于JPEG。
答案 4 :(得分:2)
我在为网络使用图像时所采取的一些措施 -
jpegtran -optimise
- 它可以无损地重新压缩它们,并且可以在压缩不佳的图像上减少几个百分点。pngnq
运行PNG文件(使它们为8位)然后optipng -i0
(重新压缩并删除任何隔行扫描)。我知道你说你不喜欢有损,但是pngnq在将图像转换成调色板方面做得非常出色 - 最好的办法就是自己尝试一下,看看输出是否足够好。答案 5 :(得分:2)
在某些情况下,JPEG图像会比PNG图像大。
例如,在存在非常简单的图像的情况下,PNG最终可能会更好地压缩图像并提供更好的图像质量。
以下是一些Java代码示例:
public static void main(String[] args)
{
BufferedImage img = new BufferedImage(
256,
256,
BufferedImage.TYPE_INT_RGB
);
Graphics g = img.getGraphics();
g.setColor(Color.white);
g.fillRect(0, 0, 256, 256);
g.setColor(Color.black);
g.drawLine(0, 0, 255, 255);
g.drawLine(255, 0, 0, 255);
try
{
ImageIO.write(img, "jpg", new File("output.jpg"));
ImageIO.write(img, "png", new File("output.png"));
}
catch (IOException e) {} // Don't usually ignore exceptions!
g.dispose();
}
以上代码生成尺寸为256 x 256像素的图像,并在“X”上绘制表格中的两条相交的对角线。
使用256 x 256图像将图像大小保持为8的倍数,因为JPEG compression执行2D DCT transform on 8 x 8 pixel sections of the image。通过保持线条的图像大小和位置在8 x 8像素区域内对齐,它将减少compression artifacts的数量并提高图像质量。
(选择256 x 256是经验性的 - 我最初使用100 x 100并注意到JPEG图像太可怕了,所以我尝试了64 x 64它看起来更好,所以我把它做得更大来模拟更逼真的图像大小。)
绘制图像后,程序会生成JPEG文件和PNG文件。 (Java ImageIO library使用0.75f
的默认压缩率来表示JPEG的压缩质量。)
结果:
output.png : 1,308 bytes
output.jpg : 3,049 bytes
看一下图像本身,JPEG有一些伪影,但在我用图像编辑器放大之前它并不是很明显。当然,PNG图像是无损的,因此它是原始图像的精确表示。
总而言之,使用PNG或JPEG图像是否更小确实取决于源 - 有时JPEG可能比PNG大,但PNG可以提供更好的质量。当然,在实践中,对于给定的图像,PNG通常会大于JPEG。
答案 6 :(得分:1)
您可能希望减少图像中编码的颜色数量。尝试用256种颜色保存你的漫画,并观察尺寸减少很多。根据您的具体绘画风格,我就足够了。
答案 7 :(得分:1)
我已经绘制了许多大型手绘电路图,我将其扫描为灰度,用于计算机化文档; LZW压缩的TIFF总是胜过JPEG,无论是在可视质量还是文件大小上,我认为因为TIFF可以利用空白的RLE编码。我不确定PNG是否也可以这样做,或者RLE是否可以扩展为多色图像&不只是黑/白。
编辑:我刚试了一张灰度手绘图; TIFF可以以2:1的比例击败PNG(使用ImageMagick转换为43K vs. 83K再次从原始TIFF - > PNG - > TIFF再次检查ImageMagick是否生成两种文件格式并确保我的原始程序没有'做一个糟糕的工作产生TIFF)但仅仅因为TIFF使用8位/像素(灰度)而PNG使用24位/像素(RGB)。
编辑2 :没关系,我只能使用pngcrush -c 0
来确保图像是灰度的。 PNGcrush将RGB版本降至67K,灰度降至34K。尼斯!
编辑3:只是一个程序点:在我看来,选择这种类型的许多不同图像来选择作为标准基准,并且只是尝试不同的技术,这将更有意义。基准集,而不仅仅是一堆堆栈溢出。这似乎是一个需要经过充分考验的经验解决方案的问题。
答案 8 :(得分:0)
对于笔和墨水图像,GIF中的压缩方案可以创造奇迹。
JPEG压缩不适合这种图像。
答案 9 :(得分:0)
无论无损压缩有多么强大,损失压缩总会更好,因为它的限制更少。
想象一下,有一天他们发明了一些无损压缩比jpeg对漫画更好,显然第二天有人会修改它以压缩更多,甚至,如果这意味着某些信息丢失了。
答案 10 :(得分:0)
绘制与未绘制,网络漫画与任何其他类型的图像......这是不相关的。如何绘制网络漫画或布置颜色的具体细节或者您认为不同的东西。但你可以打赌,数十年的图形研究和开发已经充分考虑到了,并且那些以图形优化为生的人已经占据了主导地位。
如果有比JPEG,GIF,PNG等更好的压缩算法,那么您认为它不会被广泛使用吗?如果你正在寻找最近的突破,那么我认为你可能会浪费你的时间,因为1)你必须付出相当大的努力才能使你的前端压缩与人们使用的任何观众兼容(如浏览器) )2)如果它从当前格式中获得了显着的收益,那么它将会相当快地广泛传播。
如果我被投票,我一定不能很好地解释自己。
认为网络漫画在一些特殊的领域,因为它们是手绘或有很多颜色重复,这有点愚蠢。寻找相同颜色的大块是图像压缩的绝对基础之一。
为自己制作一个好的图形程序,并使用您的特定图像,查看哪种导出格式可以产生最小的图像尺寸,同时保持您想要的质量。不同的图像会有所不同。
答案 11 :(得分:0)
在抗锯齿和渐变之间,图像中的颜色可能比您想象的要多。
答案 12 :(得分:0)
作为为漫画做过大量着色工作的人,以及照片处理工作,我可以肯定地说,与普通照片相比,普通网络漫画中经常出现很多。
假设图像是在Photoshop或Painter(通常是平板电脑)中完成的,那么在普通网络漫画中通常会有许多过滤器或图层。阴影,反射,不透明度,背景图像以及更多来自等式,其中许多直接来自滤镜或图层叠加,通常有许多颜色。
很多时候你必须考虑你的观众。如果每天有20位访客,真的值得优化您的图片吗?我可能会认为这完全取决于你的网络漫画的大小和内容。如果你能逃脱PNG那么我会坚持下去。在网络漫画中,通常很少有人使用JPG。
答案 13 :(得分:0)
我使用OPTIPNG获得最佳过滤器(具有理智水平),然后运行ADVDEF -4 -z
http://advancemame.sourceforge.net/comp-readme.html(不是Advpng,因为Advpng删除了过滤器)以优化放气。
你也可以尝试pngout http://www.advsys.net/ken/utils.htm 有一个Irfanview的插件。 它使用与Kzip相同的deflate实现,通常甚至比7-zip更好但速度更慢。
编辑:
okcancel20031003.gif What's your favorite "programmer" cartoon? 256色147KB
PNG(油漆)126KB
PNG(Irfanview)120 KB
PNG(Irfanview)+
Optipng -o5 120KB(小525字节)9s
Optipng + ADVDEF 114 KB 9s + 0.9s
PngOut 114 KB 6s
BMP 273 KB
BMP +
7z(LZMA -fb 273)107 KB
RAR(最佳)116 KB
BMF -S 90 KB 0.3s
Paq8o10t -4 79 KB 35s
答案 14 :(得分:-1)
我认为这里缺少的信息是图像压缩与格式相关联。当然有人可能会提出一种压缩算法,它非常适合网络漫画家创建的那种图像。但是,一旦你采用了新的超级漫画图像格式并发出了PNG,JPG或GIF,颜色信息将受到PNG,JPG或GIF压缩机制的约束,你将失去所有的好处。新图像格式。
这是考虑它的另一种方式。
这种神秘的超级漫画形象也会发生同样的事情。
另一种选择是让主要的浏览器供应商支持超级漫画形象的诞生。我会把背后的理由留给观众。