问题描述
- flex3 鼠标滚轮控制图片缩放
-
需要做一个平面图,图片可以进行以鼠标的滚轮的方式进行缩放。但是用的matrix.scale
图片总是以左上角的方式缩放。我想要的是以鼠标位置为中心来进行缩放的,就像百度地图那样。困扰好几天了。以下是代码,求大神们解救啊。var p:Point =frm3.globalToLocal(new Point(event.stageX,event.stageY)); //指定以鼠标的所在位置 为中心 放大 var tempMatrix:Matrix = frm3.transform.matrix; tempMatrix.translate(-p.x,-p.y);//1,限制放大缩小的上边框 if (event.delta < 0) { tempMatrix.scale(0.9, 0.9); //向下滚动缩小 } else { tempMatrix.scale(1.1, 1.1); //向上滚动放大 } tempMatrix.translate(p.x,p.y);//1,限制放大缩小的下边框 frm3.transform.matrix = tempMatrix; rotateDeg = frm3.rotation;
解决方案
我用C语言实现这个,读取鼠标上报的input事件,如果是滚轮事件,然后放大或者缩小图片,然后刷到现实设备上
时间: 2024-10-28 18:34:32