首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >toDataURL对toDataURLHD

toDataURL对toDataURLHD
EN

Stack Overflow用户
提问于 2013-08-22 17:12:22
回答 1查看 4.3K关注 0票数 14

因此,我看到有人提出了一些新的(ish)函数:toDataURLHDtoBlobHDgetImageDataHD等,它们“以本地画布位图分辨率返回数据”(http://developers.whatwg.org/the-canvas-element.html)。

但我不懂术语。这是否意味着在某些情况下,非高清版本会在返回图像数据之前重新处理图像数据?(也就是说,在高分辨率的显示器上,toDataURL能否产生比实际画布质量更低的图像),或者这仅仅是指图像中的像素/英寸元数据?

我一直在尝试我能想到的尽可能多的缩放方法( http://jsfiddle.net/SktKQ/),它似乎总是像素对像素,但这不是决定性的,我没有任何高分辨率的显示器来测试。

我所要寻找的就是:我是否可以依赖toDataURL & to .为我的画布制作像素对像素的副本,其宽度和高度与元素上设置的属性完全相等?(如果是的话,HD版本有什么意义?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-22 17:29:33

画布上的WhatWG文档说:

坐标空间的大小不一定表示用户代理将在内部或呈现期间使用的实际位图的大小。例如,在高清晰度显示器上,用户代理可能在内部使用位图,每个单元在坐标空间中有两个设备像素,这样呈现始终保持在高质量。反混叠也可以使用比显示器上的最终图像分辨率更高的位图来实现。

toDataURL()方法以96dpi的分辨率返回数据。toDataURLHD()方法以本地画布位图分辨率返回它。

我是如何理解这一点的:toDataURL只返回CSS像素(在96DPI);但是实现可以自由地使用只有通过toDataURLHD才能看到的更高的像素密度。也就是说,即使您将画布定义为800x600,即CSS像素大小,实现实际上也可以使用192个DPI密度(1600x1200);如果使用前者,则得到800x600,而HD方法将为您提供实际像素,这是有保证的。

此外,还说明如下:

因此,在2D上下文中,调用drawImage()方法将toDataURLHD()方法的输出呈现给画布(给定适当的维度)没有明显的效果。

然而,不能保证使用来自toDataURL的图像数据不会产生可见效果(分辨率更差)。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18386825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档