Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么位图.scale不起作用?_Javascript_Canvas_Bitmap_Createjs_Easeljs - Fatal编程技术网

Javascript 为什么位图.scale不起作用?

Javascript 为什么位图.scale不起作用?,javascript,canvas,bitmap,createjs,easeljs,Javascript,Canvas,Bitmap,Createjs,Easeljs,我想将我的图像添加到画布上,并对其进行定位和缩放。 我知道如何定位它,但每次缩放它时,它都会从画布上消失 我当前的代码与此类似: function init() { var canvas = new createjs.Stage("canvas"); var image = new createjs.Bitmap("assets/image.png"); image.scale(600, 600); canvas.addChild(image); can

我想将我的图像添加到画布上,并对其进行定位和缩放。 我知道如何定位它,但每次缩放它时,它都会从画布上消失

我当前的代码与此类似:

function init() {
    var canvas = new createjs.Stage("canvas");

    var image = new createjs.Bitmap("assets/image.png");
    image.scale(600, 600);
    canvas.addChild(image);
    canvas.update(image);
}
除非我删除
图像,否则我的图像不会显示在画布上。缩放(600600)

根据,
缩放
属性是缩放因子。例如,比例为2表示图像的大小是2倍。你把图像放大了600倍。因此,64x64px映像将变成38400x3840px映像。您需要根据图像的尺寸计算系数:

const imageBounds = image.getBounds()
image.scaleX = 600 / imageBounds.width;
image.scaleY = 600 / imageBounds.height;
还请注意,
scale
是一个属性,您也可以直接指定给它:

image.scale = 1.6;
根据,scale属性是scale因子。例如,比例为2表示图像的大小是2倍。你把图像放大了600倍。因此,64x64px映像将变成38400x3840px映像。您需要根据图像的尺寸计算系数:

const imageBounds = image.getBounds()
image.scaleX = 600 / imageBounds.width;
image.scaleY = 600 / imageBounds.height;
还请注意,
scale
是一个属性,您也可以直接指定给它:

image.scale = 1.6;

我同意。在这种情况下,如果要将图像从64像素缩放到600像素,
image.scale=9.375
可以在doppl3r下完成(比例=600/64)@Good addition。让我补充一下,谢谢。当我这样做时,它工作了:image.scaleX=0.5;image.scaleY=0.5;我同意。在这种情况下,如果要将图像从64像素缩放到600像素,
image.scale=9.375
可以在doppl3r下完成(比例=600/64)@Good addition。让我补充一下,谢谢。当我这样做时,它工作了:image.scaleX=0.5;image.scaleY=0.5;