【问题标题】:toDataURL returns different base64 value than expectedtoDataURL 返回与预期不同的 base64 值
【发布时间】:2012-01-25 18:07:41
【问题描述】:

如果我使用this tool 查看test.png 文件的base64 编码,我得到的base64 字符串与我在HTML 画布上绘制该png 并执行toDataURL 不同。这是为什么?如果 toDataURL 给我的结果不正确,我应该如何将 PNG 绘制到画布上然后保存它?

谢谢。

【问题讨论】:

    标签: javascript html png base64


    【解决方案1】:

    您是如何使用画布上下文绘制图像的?
    我认为不同之处在于您绘制了不同尺寸的图像
    context.drawImage(imageObj,destX,destY);
    保持画布的宽度和高度与原始图像尺寸完全相同,就可以了

    【讨论】:

    • 我放置的图像是 400x400,但在我的代码中,我将其缩放到 600x600,如下所示:
      'code' mycanvas= document.getElementById("mycanvas"); mycanvas_context = mycanvas.getContext("2d");变种图像 = 新图像(); image.onload = function(){ mycanvas_context.drawImage(image, 0, 0, 600, 600); }; image.src='图像/test.png'; final_image = mycanvas.toDataURL("image/jpeg");
    • 我刚刚尝试将图像缩放到 600x600。 IE。与我的画布大小相同,保存时仍然得到一个空图像。
    • 对不起,请给我一个jsfiddle地址
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-27
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多