Javascript 从css调整大小的图像创建画布,并在其上绘制浏览器插值

Javascript 从css调整大小的图像创建画布,并在其上绘制浏览器插值,javascript,css,image-processing,canvas,Javascript,Css,Image Processing,Canvas,我试图在画布中绘制css大小的图像(我使用mootools,但这并不重要): 在firefox中一切正常,但在webkit上则不然。 FF中的图像是使用浏览器插值绘制的(这很好),但在webkit上它不是插值的 这是小提琴 有人知道我如何解决这个问题吗? 谢谢 编辑: 我添加了一个图像以快速显示我想要做的事情。 不幸的是,这可能会在一段时间内出现浏览器之间的差异,因为规范说规范不关心: 如有必要,本规范未定义缩放图像时使用的算法 但请稍等:Firefox、Webkit、Chrome和IE9中小

我试图在画布中绘制css大小的图像(我使用mootools,但这并不重要):

在firefox中一切正常,但在webkit上则不然。 FF中的图像是使用浏览器插值绘制的(这很好),但在webkit上它不是插值的

这是小提琴

有人知道我如何解决这个问题吗? 谢谢

编辑: 我添加了一个图像以快速显示我想要做的事情。

不幸的是,这可能会在一段时间内出现浏览器之间的差异,因为规范说规范不关心:

如有必要,本规范未定义缩放图像时使用的算法

但请稍等:Firefox、Webkit、Chrome和IE9中小提琴的画布表现都是一致的。我看到的唯一不一致的地方是webkit如何扩展

WebKit(包括chrome和Safari)在这里是很奇怪的,它不是画布上的东西。WebKit中的
看起来不一样,所有画布看起来都一样

在过去的几个月里,Chrome(可能是webkit)一直在疯狂地改变其抗锯齿功能(如果您使用Chrome的开发者频道,这一点非常明显,因为它在画布绘制方面经常会以某种方式被破坏)

不管怎样,你在这里看到了不同的东西吗?没有什么是不寻常的


编辑:有一个webkit CSS属性:
图像渲染:-webkit优化对比度
,它允许图像看起来和画布一样糟糕。这让我相信WebKit上画布的外观是一个诚实的bug。换言之,在WebKit中,就好像画布而言,
图像渲染:-WebKit优化对比度
始终处于启用状态,无法将其关闭。

您在windows上吗?看起来你和我的结果完全不同,看看我编辑的问题,我添加了我的图片:)每个操作系统上的每个浏览器都以不同的方式思考!视窗7。不幸的是,“是的,这太糟糕了”可能是你会得到的最好答案,但也许有人知道我们不知道的事情。顺便问一下,你在干什么?将非常大的图像显示为非常小的图像通常是一个坏主意。除非你正在编写一个可以缩放的画布应用程序,否则一个预先制作的缩略图就行了吗?请参阅我的编辑,了解我还发现了什么,如果我在webkit中找不到,我可能会在webkit中提交一个bug。这里失败的测试可能是一样的:没有特别的帮助,但下面是我对该测试的再创造:
var width = $('canvas').get('width');
var height = $('canvas').get('height');

$('image').set({ 'width': width, 'height': height });
$('canvas').getContext('2d').drawImage($('image'), 0, 0, width, height);​