use*_*732 2 javascript html5 canvas zoom magnify
我正在为我的客户工作一件T恤设计师,我使用html5画布制作它.衬衫设计师现在已经完成,但他要求我添加一个放大镜(类似这样:http://mlens.musings.it/).我发现了很多类似的脚本,然而,它们似乎有一个共同点,它们使用小图像和大图像.然而,使用画布,我有一个不同的场景,并且已经被困在如何添加放大镜来放大光标在画布上的位置.
是否存在可以完成此任务的脚本?或者我还有其他选择吗?
pow*_*000 13
让我们将画布绘制到另一个画布但缩放.
context.drawImage允许我们指定我们想要获得多少原始画布以及在目标画布上绘制它的大小.因此,要进行2倍缩放,我们只需将原始画布的两倍大小绘制到目标画布.
var main = document.getElementById("main");
var zoom = document.getElementById("zoom");
var ctx = main.getContext("2d")
var zoomCtx = zoom.getContext("2d");
var img = new Image();
img.src = "http://astrobioloblog.files.wordpress.com/2011/10/duck-1.jpg"
img.onload = run;
function run(){
ctx.drawImage(img,0,0);
}
main.addEventListener("mousemove", function(e){
//console.log(e);
zoomCtx.drawImage(main, e.x, e.y, 200, 100, 0,0, 400, 200);
console.log(zoom.style);
zoom.style.top = e.pageY + 10+ "px"
zoom.style.left = e.pageX +10+ "px"
zoom.style.display = "block";
});
main.addEventListener("mouseout", function(){
zoom.style.display = "none";
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6226 次 |
| 最近记录: |