Javascript Scale(x,y)方法没有't在Canvas上使用负参数
Javascript Scale(x,y) method doesn't work on Canvas with negative parameter
我正在尝试使用scale()方法翻转图像。我有这个代码:
ctx.save();
ctx.scale(-1, 1);
ctx.drawImage(Img, 0, 0, 100, 100);
ctx.restore();
当我在比例参数或任何其他实数中输入1,1时,比例函数工作正常。但一旦我设置了一个负参数,比如-1(水平翻转图像),图像就根本画不出来了。该代码位于一个setInterval为12 fps的函数中。我到处找了,但似乎找不到解决办法。如有任何帮助或建议,我们将不胜感激。谢谢
正如markE所说,无论何时缩放、旋转或变换画布,您使用的坐标都会对画布变换的变化做出反应——在您的情况下,会将图像从画布上发送出去。为了将图像翻转到位,您应该考虑使用将图像宽度作为第一个参数的平移:
ctx.save();
//The scale will flip the whole canvas, and will move the image
//to the left (by the image width size)
ctx.scale(-1, 1);
//Using translate to move the image back to it's original origin
ctx.translate(Img.width, 0)
ctx.drawImage(Img, 0, 0, 100, 100);
ctx.restore();
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- Canvas Html5绘图应用程序,移动画布会导致重大问题
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- MVC 3页面导航和使用javascript传递参数
- 从查询字符串参数推断出正确的数据类型
- 传递包含'%的参数'在URL中
- Javascript Scale(x,y)方法没有't在Canvas上使用负参数