• 用HTML5和原生js实现放大局部图片


    drawImage方法

    context.drawImage(image,sx,sy,sh,dx,dy,dw,dh)
    

    sxsy起始图像的横纵坐标,shsd起始图像的大小,dxdy复制图像的横纵坐标,dwdy复制图像的大小

    下面我们用这个属性来做一个点击局部放大效果

    <!DOCTYPE html>
    <html>
    <head>
    	<title></title>
    	<script type="text/javascript" src="js/jquery.js"></script>
    	<script type="text/javascript">
    	    var context;
    	    var canvas;
    	    var iMouseX, iMouseY = 1;
    	    var image;
    	   //绘制区域
    	    window.onload = function() {
    	    	
    	    	function draw(id){
    	    	    canvas = document.getElementById(id);
    	    	    if(canvas == null)
    	    		    return false;
    	    	    context = canvas.getContext('2d');
    	    	    context.fillStyle = "#eeeeff";
    	    	    context.fillRect(0,0,400,300);
    	    	    //一边装载,一边绘制
    	    	    image = new Image();
    	    	    image.src = "img/2.png";
    	    	    image.onload = function() {
    	    		    drawImg(context,image);
    	    	    };
    	        }
    	        //将原始图片添加到网页上
    	        function drawImg(context,image) {
    	    	            context.drawImage(image,0,0,100,100);
    	        }
    	        draw('canvas');
    
    	    
             //点击原始图片放大事件 
            canvas.onclick = function(e) {//监听鼠标动作
               iMouseX = Math.floor(e.pageX);  
               iMouseY = Math.floor(e.pageY)-82;  
               context.drawImage(image,iMouseX,iMouseY,57,80,110,0,200,200);
            }
            }        
    	</script>
    </head>
    <body>
        <h1>canvas元素示例</h1>
        <canvas id="canvas" width="400" height="300" ></canvas>
    </body>
    </html>
    
  • 相关阅读:
    wxpython笔记:应用骨架
    go 优雅的检查channel关闭
    Golang并发模型:流水线模型
    go http数据转发
    go 互斥锁与读写锁
    go 工作池配合消息队列
    实现Tcp服务器需要考虑哪些方面
    go Goroutine泄露
    关于个人博客转移的那些事
    Java并发编程:Thread类的使用介绍
  • 原文地址:https://www.cnblogs.com/huyuzhu/p/6545219.html
Copyright © 2020-2023  润新知