Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.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 为什么我要在angularjs中缩放图像?_Javascript_Angularjs - Fatal编程技术网

Javascript 为什么我要在angularjs中缩放图像?

Javascript 为什么我要在angularjs中缩放图像?,javascript,angularjs,Javascript,Angularjs,我在angular js中使用图像查看器。我成功地实现了图像查看器。我没有得到实际图像,但得到了缩放图像。为什么 这是我的密码 获取此输出(缩放图像) 需要未缩放的完整图像 app.controller('MainCtrl',函数($scope,$timeout){ 在app.js中的resetImage()函数中,您将currentScale设置为1。然后将在画布上以1:1的比例绘制图像。 您不希望这样,因为这样图像将根据画布上的宽度/高度绘制。大图片将显示放大,小图片将显示缩小 相反,

我在angular js中使用图像查看器。我成功地实现了图像查看器。我没有得到实际图像,但得到了缩放图像。为什么

这是我的密码

获取此输出(缩放图像)

需要未缩放的完整图像

app.controller('MainCtrl',函数($scope,$timeout){

在app.js中的resetImage()函数中,您将currentScale设置为1。然后将在画布上以1:1的比例绘制图像。 您不希望这样,因为这样图像将根据画布上的宽度/高度绘制。大图片将显示放大,小图片将显示缩小

相反,您希望根据输入源的宽度/高度初始化比例,以便在画布上绘制整个图片。一种简洁的方法如下:

currentScale = Math.min(canvas.width/image.width, canvas.height/image.height);

您需要更改图像的缩放参数。根据给定的plunker链接,在app.js文件第92行中,您需要将
currentScale=1;
替换为

currentScale = 0.1;
这将按预期渲染图像

要查看工作示例,请点击下面的链接


但它不是居中替换第193行上的drawImage并删除平移行应该可以。给你:谢谢你的回答,但它打破了“顺时针”和“逆时针”方向。请选中任何一个按钮,因为你的旋转功能是围绕(0,0)旋转图像坐标。您需要平移图片,使其中心位于(0,0)上,然后旋转,然后将图片向后平移。请帮助我重新解决此问题,但图片未居中
currentScale = 0.1;