mbauman
(Matt Bauman)
1
我完全理解(并且感谢!)这被作为一个站点设置向管理员开放以便切换,但我认为这个“功能”本身非常误导。
PNG 有两个极其重要的特性:其无损(且可读!)的文本表示以及对透明度的支持。这两点都是使用 PNG 的重要原因。作为 Discourse 站点的用户,我上传了一张带有透明度的文本图片到论坛,却非常失望地看到它被自动转换成了 JPG。没关系,我打算把它托管到其他地方。然而,这原本运行得很好,直到 @system 出现并下载、转换了我的图片,还在我不知情的情况下编辑了我的帖子,破坏了透明度,让图片看起来更差。幸好我同时也是管理员,能够上网搜索,找到了下面的一个主题帖,引导我找到了可以修改的 png to jpg quality 设置。
至少,如果图片中存在透明度,似乎明智的做法是关闭此功能。
大家真的在自己的论坛上“喜欢”这个功能吗?此前已经有两次提出过这个问题,两次都有用户因 PNG 被转换而感到困惑或沮丧。重新考虑这个默认设置似乎很有必要。
3 个赞
这意味着该图片作为 JPG 格式时体积要小得多。我相信有一些站点设置可以调整这个阈值。请查看并搜索您的站点设置。
4 个赞
JimPas
3
在“设置/文件”中,向下滚动至倒数第 3 项。取消勾选“去除图像元数据”。其上方是“PNG 转 JPG 质量”选项。根据需要调整设置。
5 个赞
mbauman
(Matt Bauman)
4
是的,我完全理解这是可配置的(我已经在自己的网站上禁用了它),也明白其背后的动机。但我仍然认为这个功能本身就有问题,默认设置理应更改。
举个例子——PNG 是截图的默认文件格式,这很合理。如果我只是截取这个窗口的画面并尝试上传,它会被自动转换为 JPG。
原始文件大小为 361KB,而你们压缩后的 JPG 为 218KB。诚然,文件变小了,但我们却丢失了透明背景——对于使用深色主题的用户来说,效果非常糟糕——而且文字周围还出现了伪影。
如果我在本地使用 optipng 对 PNG 进行优化,最终得到的文件不仅保留了透明背景和清晰的文字,大小也只有 219KB。上传后,它将保持为 PNG 格式:
将 PNG 转换为 JPG 是一种损耗极大的转换方式。在上传时这样做是一回事;在发帖后自动编辑帖子以对外部图片进行同样的转换,则是另一回事。还有其他节省带宽和存储空间的方法,包括 PNG 优化工具,甚至调整图片尺寸(鉴于已有“点击查看详情”功能,在帖子中嵌入较小尺寸的图片,仅在点击时显示完整尺寸图片,似乎是更合理的做法)。
4 个赞
Falco
(Falco)
5
这是一个需要权衡的问题。
有很多用户试图以最低成本托管他们的论坛,却抱怨图片占用过多空间。这类管理员并不关心图片质量,他们只想处处节省、降低成本。
而在另一方面,有些用户真正致力于他们的社区,会利用对象存储服务,在合理成本下提供高质量的图片。
这里的讨论是关于默认设置吗?或者我们是否可以尝试比较 JPEG 与 PNG 在帖子优化后的文件大小?如果我没记错的话,PNG 的优化成本可能相当高……
9 个赞
朋友,这场争论你赢不了的。最好现在就此打住。这个网站设置就是为了让你可以根据自己的喜好进行调整。
2 个赞
notriddle
(Michael Howell)
7
取消这个功能是不可能发生的。但这条帖子看起来很有趣:
要让 Discourse 首先尝试使用 optipng,然后根据生成的“优化后”大小来决定是否转换为 JPG,需要做些什么呢?或者这样做会不会太慢?
4 个赞
尝试对一张 6000x6000 的 PNG 图片运行 optipng,看看会发生什么。我们已经在某种程度上做了类似的事情,但算法很快就会急剧失效,而且效果非常差。
5 个赞
mbauman
(Matt Bauman)
9
我完全没有意图要移除这个功能——如果我用“糟糕设计”来形容它显得过于夸张,我在此致歉。问题在于默认设置。我只是觉得这个行为令人惊讶且无济于事(尤其在我通过外部链接绕过它后,它又被自动改回)。所以我来到这里,是希望如果默认设置有所不同,会对其他人更有益……但就像所有默认选择一样,关于权衡取舍的主观偏好很快就会出现。
感谢 Rafael 这篇有理有据的帖子。我很感激这次讨论——正如我最初所说,我是真诚地询问大家是否喜欢这个功能。
3 个赞
marianord
(Mariano Rodriguez)
10
我认为将 .jpg 改为 .webp 会很有趣,它是无损的,但比 .png 更小。
据我了解,这是用于媒体(尤其是需要透明度的图像)的新 Web 标准。
3 个赞
Falco
(Falco)
11
我们无法这样做,因为较旧或不兼容的浏览器(如 IE 和 Safari)不支持该格式。
10 个赞
marianord
(Mariano Rodriguez)
12
我现在真的很讨厌 Safari,不过还是谢谢你这么快回复。希望他们能尽快提供支持。
尤其是随着时间推移,IE11 的重要性会越来越低。
2 个赞
Remah
(Just another happy Discourse user)
13
有必要说明的是,当前默认使用优化后的 JPEG 并非一个错误的决定!我热爱 PNG
,却对 JPG
用于图形感到厌恶,但针对这个问题,我完全支持现行的制度(此处“制度”一词兼具“权威”与“系统”双重含义)。
Discourse 团队已对如何使 Discourse 开箱即用取得成功做出了现实评估:
当前方法的一个实际后果可能是无缝过渡到有损 WebP。随后,有损与无损 WebP 之间的取舍问题可能会在后续讨论中再次出现。
如果你曾优化过大量 PNG 文件,就会知道结果往往不尽如人意。与 JPG 优化器相比,PNG 优化器耗时极长。此外,要生成能够被最有效优化的 PNG 图像,需要更高的技巧,例如:https://medium.com/@duhroach/reducing-png-file-size-8473480d0476 或 How To Optimize PNG — Smashing Magazine
5 个赞
Falco
(Falco)
14
有一件事我们最终会实现,那就是允许用户在上传前优化他们的图片。
通过将压缩工作分配到另一个线程(使用 Web Workers),并采用与服务器端相同的算法(使用 WASM),用户体验并不会很差。
15 个赞
mbauman
(Matt Bauman)
15
如果 PNG 具有透明度,您认为禁用此行为如何?这是转换过程中最明显的损失。
4 个赞
riking
(Kane York)
17
如果你告诉截图程序停止添加投影,Discourse 可能就会停止转换它,因为那时它实际上就是纯文本和纯色了。
5 个赞
simon
18
我今天正在研究这个问题,涉及一个希望所有上传的 PNG 文件都保持 PNG 格式的网站。我发现,即使将“PNG 转 JPG 质量”设置为 100,Discourse 仍会将大型 PNG 文件转换为 JPG,除非同时将“重新压缩原始 JPG 质量”设置也设为 100。这是否是预期行为?如果是,那么“重新压缩原始 JPG 质量”设置的描述需要更新,以说明其对 PNG 上传的影响。
8 个赞
嗯,我不太确定,@sam,你希望下周做那个决定吗?我们至少应该更新一下文案。
3 个赞
sam
(Sam Saffron)
20
我不太确定……在此听从 @zogstrip 的意见……
4 个赞