【发布时间】:2018-06-21 16:52:54
【问题描述】:
以下代码获取一张图片,将其复制到画布中(以便对其进行修改),然后再次将其转换为图片:
const image = this.markerEditorEl.components.screenshot.getCanvas('perspective').toDataURL()
var canvas = document.getElementById('test-canvas')
var context = canvas.getContext('2d')
var imageObj = new Image()
imageObj.onload = function () {
// set values
const sourceWidth = cropWidth
const sourceHeight = cropHeight
const sourceX = (width / 2) - (sourceWidth / 2)
const sourceY = (height / 2) - (sourceHeight / 2)
const destWidth = cropWidth
const destHeight = cropHeight
const destX = 0
const destY = 0
context.drawImage(imageObj, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY, destWidth, destHeight)
window.location = canvas.toDataURL()
}
imageObj.src = image
如您所见,我正在尝试自动下载图像:window.location = canvas.toDataURL()。但是,这不起作用。我明白了:
不允许将顶部框架导航到数据 URL: 数据:图片/png;base64,iVBORw0KG.......
这样做的正确方法是什么?我需要将图像自动下载到用户的计算机上。
【问题讨论】:
-
在此处查看答案:stackoverflow.com/questions/10673122/… 有效吗?
标签: javascript html canvas