gpt4 book ai didi

html5-canvas - HTML5 Canvas 如何更改putImageData比例

转载 作者:行者123 更新时间:2023-12-02 14:10:40 27 4
gpt4 key购买 nike

如何在 scale(1.5, 1.5) 不起作用的情况下更改 putImageData 比例..

var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
context.clearRect(0, 0, canvas.width, canvas.height);
context.scale(1.5, 1.5);
context.putImageData(imageData, 0, 0);

最佳答案

正确,您的代码不会缩放现有绘图。

context.scale 仅影响新绘图,而不影响现有绘图。

context.putImageData 会将保存的原始像素放回 Canvas 上,但 putImageData 不是绘图命令,因此其结果不会缩放。

要缩放现有像素,您必须将像素保存到 Canvas 外部的实体中。外部实体可以是一个新的 Image 元素或第二个 Canvas 元素。

示例代码和演示:http://jsfiddle.net/m1erickson/p5nEE/

// canvas related variables
var canvas=document.getElementById("canvas");
var context=canvas.getContext("2d");

// draw a test square
context.fillStyle="red";
context.fillRect(0,0,50,50);

// create an image from the canvas
// clear & scale the canvas
// draw the image to the canvas
var imageObject=new Image();
imageObject.onload=function(){

context.clearRect(0,0,canvas.width,canvas.height);
context.scale(1.2,1.2);
context.drawImage(imageObject,0,0);

}
imageObject.src=canvas.toDataURL();

关于html5-canvas - HTML5 Canvas 如何更改putImageData比例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24429830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com