时间: 2021-07-31 作者:daque
flash夸大镜功效断定大师仍旧很熟习了,很多场合都有引见:无非是将一张夸大的图像做个遮罩,而后靠拖动遮罩上的图像使夸大的图像随鼠目标挪动表露出来。如许的功效很简单实行,但缺陷很鲜明:在图像的边际,更加是图像的夸大比率比拟大时,图像会爆发比拟大的偏移,也即是偶尔表露出来的夸大图像并不是你鼠标所指的地区的图像。 底下是我做好的一个示例,点击中央的字加入演练,不妨按pageup和pagedown变换夸大倍数。用的是最后梦想影戏片的图片。你不妨在作品结果载入源代码。
在咱们这个例子里,咱们对保守的夸大镜功效举行了两处矫正:
1.保护表露的夸大图像与鼠标所指地区相配合。 2.用户将不妨本人遏制夸大的比率。
要实行第一点,就须要在动画播放时,按照鼠标场所动静地变换被遮罩图片的场所。怎样计划图片应在场所的坐标是个要害,本来这个算法很大略,如图:
蓝色地区即是片子的表露地区,表露的是咱们要夸大的图片(小图),绿色地区是夸大的要被遮罩的图片。即使此时鼠标在小图中红点处(x,y),则该点在夸大后的图片中的坐标就该当是(x*scale,y*scale),scale是图片的夸大倍数。只有在表露时使小图中的该点与大图中的重合,咱们就不妨在这个功效中实行不管鼠标指到何处,表露的夸大图像都以鼠标所指像素点为重心了。很明显,此时大图对立片子地区的坐标为:
(x1=x*(scale-1),y1=y*(scale-1))
好了,要害算法出来了,第二点目的就很简单实行了,咱们只有在片子播放时变换变量scale就行了。