无法获取内容的画布 toDataURL

Mayank S. Gupta

我无法将此圆形图像保存为 png。

在这里,我将空白画布作为控制台中的基本代码。

任何人请告诉我如何将画布内容(如 rouneded 图像)保存为 png 或 base 64 代码。

// Grab the Canvas and Drawing Context
var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');



// Create an image element
var img = document.createElement('IMG');

// When the image is loaded, draw it
img.onload = function () {

// Save the state, so we can undo the clipping
ctx.save();


// Create a circle
ctx.beginPath();
ctx.arc(106, 77, 74, 0, Math.PI * 2, false);

// Clip to the current path
ctx.clip();


ctx.drawImage(img, 0, 0);

// Undo the clipping
ctx.restore();
}

// Specify the src to load the image
img.src = "http://i.imgur.com/gwlPu.jpg";

var base = canvas.toDataURL();
console.log(base);

在尝试使用图像之前,您需要等待图像加载。

更重要的是,你不能叫顶toDataURL被感染的画布。受污染的画布是在画布中绘制了来自其他域的图像,除非您都请求使用该图像的权限并且服务器授予您使用该图像的权限。

对于您的示例,imgur 的服务器通常会给予许可。要请求权限,您需要设置img.crossOrigin. 请参阅:https : //developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image

// Grab the Canvas and Drawing Context
var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');



// Create an image element
var img = document.createElement('IMG');

// When the image is loaded, draw it
img.onload = function () {

  // Save the state, so we can undo the clipping
  ctx.save();


  // Create a circle
  ctx.beginPath();
  ctx.arc(106, 77, 74, 0, Math.PI * 2, false);

  // Clip to the current path
  ctx.clip();


  ctx.drawImage(img, 0, 0);

  // Undo the clipping
  ctx.restore();
  
  var base = canvas.toDataURL();
  console.log(base);
}

// Specify we want to ask the server for permission to use this image
img.crossOrigin = "anonymous";

// Specify the src to load the image
img.src = "http://i.imgur.com/gwlPu.jpg";
<canvas id="c"></canvas>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

画布toDataURL()提供空白图片

来自分类Dev

不含.toDataUrl()的图像下载画布

来自分类Dev

无法在“HTMLCanvasElement”上执行“toDataURL”:受污染的画布

来自分类Dev

画布toDataURL()返回空白图像

来自分类Dev

没有Alpha通道的画布toDataURL

来自分类Dev

OpenLayers:“无法在“ HTMLCanvasElement”上执行“ toDataURL”

来自分类Dev

无法读取未定义的toDataURL属性

来自分类Dev

toDataUrl rasterizehtml.js无法正常工作

来自分类Dev

未捕获的DOMException:无法在“ HTMLCanvasElement”上执行“ toDataURL”:可能无法导出污染的画布

来自分类Dev

DOMException:无法在“HTMLCanvasElement”上执行“toDataURL”:可能无法导出受污染的画布

来自分类Dev

toDataURL HTML5其他获取画布数据的方法是否有问题?

来自分类Dev

JavaScript:toDataUrl()抛出“安全性错误:可能无法导出污染了的画布”。

来自分类Dev

iOS HTML5画布toDataURL

来自分类Dev

Canvas.toDataURL()未显示画布的背景图像

来自分类Dev

如何使用toDataURL从画布发送图像到php

来自分类Dev

使用stage.toDataUrl,将不会捕获形状的drawFunc内容

来自分类Dev

浮点刻度标签在.toDataURL()导出中无法正确显示

来自分类Dev

toDataURL与toDataURLHD

来自分类Dev

使用.toDataUrl()将Chart.js画布图表转换为图像会生成空白图像

来自分类Dev

fabric.js-当画布上有图像时,toDataURL显示空白页

来自分类Dev

fabric.js-当画布上有图像时,toDataURL显示空白页

来自分类Dev

透明 HTML5 画布 todataurl 仅在移动设备上呈现透明背景

来自分类Dev

是否可以在通过 toDataURL 保存为文件之前修剪画布图像的某些部分?

来自分类Dev

如何在javascript中获取HTML5 Canvas.todataurl文件大小?

来自分类Dev

如何在webgl中获取纹理?没有Canvas.toDataUrl()

来自分类Dev

canvas toDataURL() - operation is insecure

来自分类Dev

CANVAS绘图和toDataURL()

来自分类Dev

JavaScript toDataURL 不是函数

来自分类Dev

下载空白页(toDataURL())

Related 相关文章

  1. 1

    画布toDataURL()提供空白图片

  2. 2

    不含.toDataUrl()的图像下载画布

  3. 3

    无法在“HTMLCanvasElement”上执行“toDataURL”:受污染的画布

  4. 4

    画布toDataURL()返回空白图像

  5. 5

    没有Alpha通道的画布toDataURL

  6. 6

    OpenLayers:“无法在“ HTMLCanvasElement”上执行“ toDataURL”

  7. 7

    无法读取未定义的toDataURL属性

  8. 8

    toDataUrl rasterizehtml.js无法正常工作

  9. 9

    未捕获的DOMException:无法在“ HTMLCanvasElement”上执行“ toDataURL”:可能无法导出污染的画布

  10. 10

    DOMException:无法在“HTMLCanvasElement”上执行“toDataURL”:可能无法导出受污染的画布

  11. 11

    toDataURL HTML5其他获取画布数据的方法是否有问题?

  12. 12

    JavaScript:toDataUrl()抛出“安全性错误:可能无法导出污染了的画布”。

  13. 13

    iOS HTML5画布toDataURL

  14. 14

    Canvas.toDataURL()未显示画布的背景图像

  15. 15

    如何使用toDataURL从画布发送图像到php

  16. 16

    使用stage.toDataUrl,将不会捕获形状的drawFunc内容

  17. 17

    浮点刻度标签在.toDataURL()导出中无法正确显示

  18. 18

    toDataURL与toDataURLHD

  19. 19

    使用.toDataUrl()将Chart.js画布图表转换为图像会生成空白图像

  20. 20

    fabric.js-当画布上有图像时,toDataURL显示空白页

  21. 21

    fabric.js-当画布上有图像时,toDataURL显示空白页

  22. 22

    透明 HTML5 画布 todataurl 仅在移动设备上呈现透明背景

  23. 23

    是否可以在通过 toDataURL 保存为文件之前修剪画布图像的某些部分?

  24. 24

    如何在javascript中获取HTML5 Canvas.todataurl文件大小?

  25. 25

    如何在webgl中获取纹理?没有Canvas.toDataUrl()

  26. 26

    canvas toDataURL() - operation is insecure

  27. 27

    CANVAS绘图和toDataURL()

  28. 28

    JavaScript toDataURL 不是函数

  29. 29

    下载空白页(toDataURL())

热门标签

归档