jpg 能做到无损合并吗?一个网页游戏每个场景背景图都是左右半边各一张 jpg 拼起来的,我想无损拼接但不想保存成 png,有可能实现吗?

2023-03-06 21:55:10 +08:00
 edis0n0
3080 次点击
所在节点    程序员
31 条回复
lambdaq
2023-03-07 10:19:59 +08:00
laqow
2023-03-07 11:01:53 +08:00
可能可以存 TIF 然后把两个图作为两个 tile ,应该自己撸一下代码可以不需要重新压缩,类似 @duke807 的思路
ysy950803
2023-03-07 11:06:55 +08:00
楼主是开发这个网页游戏的需求还是只是玩家想存这个场景图片而已?
libook
2023-03-07 11:16:53 +08:00
首先,你所能拿到的 jpg 极大概率是已经被压缩过的,需要考虑此时再追求像素级别的一一对应是否有意义,是否能接受极小的像素差异的再次压缩。

其次,你可以将两张图片分别转成像素矩阵,然后拼到一起,然后生成一张未压缩的图。关键是看你怎么输出,如果你用常规输出 jpg 的方式,为了节省空间就必须再进行压缩,否则就跟 png 一样了,此时接缝附近的像素极大可能会被重新调整,虽然肉眼可能看不出来差别。
swordmaster
2023-03-07 12:02:56 +08:00
不想保存成 png 就把 jpg 保存成 webp ,体积更小质量更高
digimoon
2023-03-07 12:42:59 +08:00
我也想知道解决方法,类似的还有两个同编码的视频但是编码参数不一样,怎么拼接起来还能正常播放
NoOneNoBody
2023-03-07 12:50:05 +08:00
@msg7086 #13
中文博大精深,OP 说的“合并”究竟指的是打包、拼接、还是仅仅并排显示?
jpg 是压缩格式,要得到图片内容什么软件都要解码,难道讨论的是另外的格式
只有 bmp 这类直接像素记录到字节的格式,才能按字节合并
Huelse
2023-03-07 13:10:37 +08:00
是否可以不对图片做任何处理,只是在最终的显示上拼接呢?就像前端多个 img 标签一样,放大缩小还是定位都很容易。
msg7086
2023-03-08 06:41:52 +08:00
@NoOneNoBody 「要得到图片内容什么软件都要解码」
就是要在不解码的情况下把图片并排显示。
NoOneNoBody
2023-03-08 08:20:35 +08:00
@msg7086 #29
绕了一个大圈
并排显示还不简单,html img 支持指定尺寸,设成最底 layer ,固定位置,就相当于背景了,老早就能做到,不过我太久没接触,现在语法怎么写就不清楚了,你可以搜搜“双图背景”或“多背景图”
其他 GUI 软件的话也是可以缩放到等尺寸并排的,原理都一样是设成最底层 layer 并固定
msg7086
2023-03-08 09:54:33 +08:00
@NoOneNoBody 原文是说保存到一个 jpg 里。并排显示是为了给你解释「合并」的意思,又不是说 OP 只需要并排显示就完事了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/921735

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX