【发布时间】:2013-09-04 00:25:22
【问题描述】:
我有一个小图像,我正在画布上渲染,如下所示:
ctx.drawImage(img, 0, 0, img.width*2, img.height*2);
我希望它显示一个清晰的放大图像(每个图像像素 4 个相同的像素)。但是,此代码(在 Mac 上的 Chrome 29 中)会产生模糊的图像。在 Photoshop 术语中,它看起来像是在使用“双三次”重采样,而不是“最近邻”。
在有用的情况下(例如复古游戏),是否可以生成清晰的放大图像,或者我是否需要在服务器上为每种尺寸的图像创建一个单独的图像文件?
【问题讨论】:
-
最好的方法是为每种尺寸分别设置图像(最快、质量好),另一种方法是先拥有最大的然后随时调整它们的大小(最小的存储空间、高质量)。
-
@slash197 如果我缩小比例,它会有同样的模糊。
-
不应该模糊,你保持纵横比吗?
-
查看这个问题的答案stackoverflow.com/questions/2303690/…。实际上,您的问题似乎与此重复。
-
@slash197 我的错。经过进一步测试,它实际上正在正确缩小规模。这样做似乎很浪费带宽,但我仍然希望有一个解决方案。
标签: javascript image canvas scaling