【发布时间】:2018-02-22 08:07:50
【问题描述】:
我正在尝试使用canvas 裁剪图像,并以无缝方式将裁剪放置在原始图像上,这样分隔就不会可见。
这是我期望的工作:
const image = document.querySelector("img")
const canvas = document.querySelector("canvas")
const ctx = canvas.getContext("2d")
canvasCoords = canvas.getBoundingClientRect()
ctx.drawImage(
image,
canvasCoords.left, canvasCoords.top,
canvasCoords.width, canvas.height,
0, 0,
canvasCoords.width, canvasCoords.height
)
我希望作物填满我的画布,因此最后 4 个属性。 canvasCoords。此外,我知道现实生活中的解决方案将涉及获取画布相对于图像的偏移量,但这只是一个简化的示例。
这是该示例的JS Fiddle。
【问题讨论】:
-
drawImage 使用图像的自然大小,但您的元素通过 css 调整大小。因此,您确实需要相对于元素的大小设置绘制图像的大小,或者根本不通过 css 设置
大小。
标签: javascript canvas