为缩略图调整HTML画布大小:我可以减少像素化并改善调整大小的外观插值吗?

为缩略图调整HTML画布大小:我可以减少像素化并改善调整大小的外观插值吗?,第1张

概述我从一个大画布开始,其中draw Image()用于将实际图像中的数据绘制到HTML画布中. 后来我创建了画布/图像的缩略图,这些缩略图是更小的画布元素(出于性能原因).我只是创建具有较小宽度和高度的新画布,并再次使用drawImage()使用原始画布来制作缩略图. 在许多平台上,结果缩略图看起来非常像素化(PC Chrome,PC Firefox,iOS Safari),但在Mac Firefo 我从一个大画布开始,其中draw Image()用于将实际图像中的数据绘制到HTML画布中.

后来我创建了画布/图像的缩略图,这些缩略图是更小的画布元素(出于性能原因).我只是创建具有较小宽度和高度的新画布,并再次使用drawImage()使用原始画布来制作缩略图.

在许多平台上,结果缩略图看起来非常像素化(PC Chrome,PC firefox,iOS Safari),但在Mac firefox等其他平台中,调整大小可以更好地进行插值.

有没有可以给我一致插值的解决方案?例如,IE具有可以设置的专有CSS属性:

object.style.msInterpolationMode = “bicubic”;@H_419_18@  

其他平台有这样的东西吗?特别是在drawImage()期间隐式图像调整大小期间?或欢迎任何其他创意解决方案

解决方法 可悲的是,简短的回答是没有内置方式.到目前为止,不同的浏览器已经实现了抗锯齿并且可能以不同方式进行插值.

不幸的是,这里的规范非常宽松:

If the original image data is a bitmap image,the value painted at a point in the destination rectangle is computed by filtering the original image data. The user agent [the browser] may use any filtering algorithm (for example bilinear interpolation or nearest-neighbor).

强调我的.换句话说,浏览器可以随意实现drawImage.不幸的是,对于任何希望保持一致性的人.

可以使用getimageData或对drawImage()的大量调用来创建自己的算法,但这样做会很慢.

总结

以上是内存溢出为你收集整理的为缩略图调整HTML画布大小:我可以减少像素化并改善调整大小的外观/插值吗?全部内容,希望文章能够帮你解决为缩略图调整HTML画布大小:我可以减少像素化并改善调整大小的外观/插值吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062839.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存