Javascript 如何重新缩放图像以使用画布绘制?
如果你有主意, 从这篇文章的代码开始,使用Flip呈现内容解决方案 我想在100*100的画布上绘制最后一幅200*200的图像,使用ctx.drawImagectx.canvas,0,0200200,0,0100100重新缩放它,但它只裁剪它Javascript 如何重新缩放图像以使用画布绘制?,javascript,image,canvas,rescale,Javascript,Image,Canvas,Rescale,如果你有主意, 从这篇文章的代码开始,使用Flip呈现内容解决方案 我想在100*100的画布上绘制最后一幅200*200的图像,使用ctx.drawImagectx.canvas,0,0200200,0,0100100重新缩放它,但它只裁剪它 在绘制之前,将上下文缩放0.5 ctx.scale(0.5,0.5) varⅠ,j; 常数n=200; 常数大小=n**2;//**是权力 //const canvas=document.querySelector'canvas';//不需要的画布是
在绘制之前,将上下文缩放0.5
ctx.scale(0.5,0.5)
varⅠ,j;
常数n=200;
常数大小=n**2;//**是权力
//const canvas=document.querySelector'canvas';//不需要的画布是
//已定义为
//id=画布
const ctx=canvas.getContext2d;
常量imgData=ctx.createImageDatan,n;
常数Z=[];
对于j=0;j<尺寸;j++{Z[j]=j*256/尺寸}
Z[n*n-1]=0;
i=0;
对于j=0;j<尺寸;j++{
imgData.data[i++]=Z[j];
imgData.data[i++]=Z[j];
imgData.data[i++]=Z[j];
imgData.data[i++]=255;
}
ctx.putImageDataimgData,0,0;
ctx.标度0.5,0.5;
//翻转画布
ctx.transform1,0,0,-1,0,canvas.height
ctx.globalCompositeOperation=复制;//如果你有透明像素
ctx.drawImagectx.canvas,0,0;
ctx.globalCompositeOperation=源代码结束;//重置为默认值