画布在我正在开发的移动 Web 应用程序的网页上,我有一个文件输入控件,用于使用移动设备相机拍照。然后将来自相机的图像绘制到同一页面上的 HTML5 画布对象上。
我遇到的问题是,如果 Web 应用程序在运行 iOS 7 的 iPhone 5 上运行(在 Safari Web 浏览器中),图像会出现严重失真。具体来说,当在画布上绘制时,图像似乎被垂直挤压。如果在 Android 设备上运行相同的 Web 应用程序,则不会出现失真。
在之前的 iOS 版本和 iPhone 5 之前的 iOS 设备上,可以看到一些垂直挤压(虽然没有这么严重),并且可以使用名为 megapixel-image.js 的 jquery 插件来纠正垂直挤压。不幸的是,这个工具与 iOS 7 不兼容。
这与 Safari 中的图像二次采样有关吗?可以做些什么来纠正这个问题?我显然不能让我的用户看到这个扭曲的图像。任何想要使用相机和 HTML5 画布的移动 Web 应用程序开发人员都会遇到这种情况,因此必须提供解决方案。