您好,欢迎访问一九零五行业门户网

Html5 Canvas Image的图文代码详解(一)

canvas所支持的image api是非常强大的;我们可以直接加载图像,将其显示在canvas上,也可以切割和拼接显示所需的任何图像部分;
此外,canvas给我们提供的存储其像素数据的功能,我们可以通过操纵像素数据,然后重新绘制到canvas上。
虽然canvas只有提供少数的image api函数,但它开辟一个像素级别操纵的世界;
它使开发人员可直接在web浏览器中创建优化的应用程序,而无需任何插件。
canvas api允许访问dom定义的image对象:a1f02c36ba31691bcfe87b2722de723ba376092e9406724d5c271fcc648ed25a,
同时也支持用javascript创建image对象实例:var img1=new image();
创建image后,可以设置它的路径:img1.src=my.png;
当image在代码中被调用前,我们要确保它可以被加载,被使用;当image的load事件发生时,我们可以创建一个监听事件去触发对image的操作;
img1.addeventlistener('load', eventloaded , false);
当image完全加载完成,eventloaded将被触发执行;在些事件中,我们可以来执行对image的操作;
function eventloaded() { drawscreen();//对image操作的主要方法入口; }
显示image(display image);
方法:drawimage(image,x,y):
image表示将要绘制的图像;
 (x,y)表示image绘制在canvas上时,image左上角的位置;
调整image大小(resize image)
方法:drawimage(image,x,y,width,height):
 image表示原始图像;
把image按照参数[width,height]调整大小,形成newimage;
(x,y)表示newimage绘制在canvas上时,newimage左上角的位置;
取image的一些部分(part of image)
drawimage(image, sx, sy, sw, sh, x, y, width, height)
 image表示原始图像;
点(sx,xy)与[宽sw,高sh]形成一个矩形,是针对image的操作,取原始image的一部分形成新的partimage;
 把partimage按照参数[width,height]调整大小,形成newimage;
(x,y)表示newimage绘制在canvas上时,newimage左上角的位置;
example实例: 
<!doctype html> <html> <head> <meta charset="utf-8" /> <title>images</title> <script type="text/javascript" src="../script/modernizr-latest.js"></script> <script type="text/javascript"> window.addeventlistener("load", eventwindowloaded, false); function eventwindowloaded() { canvasapp(); } function canvassupport() { return modernizr.canvas; } function eventwindowloaded() { canvasapp(); } function canvasapp() { if(!canvassupport()) { return; } var thecanvas = document.getelementbyid("canvasone"); var context = thecanvas.getcontext("2d"); var imgmain = new image(); imgmain.addeventlistener('load', eventloaded, false); imgmain.src = "image.png"; function eventloaded() { drawscreen(); } function drawscreen() { context.fillstyle = "#eeeeee"; context.fillrect(0, 0, thecanvas.width, thecanvas.height) //display image107*86 context.drawimage(imgmain, 0, 0); context.drawimage(imgmain, 120, 0); //resize image context.drawimage(imgmain, 0, 90, 107, 86); context.drawimage(imgmain, 120, 90, 53, 43); context.drawimage(imgmain, 190, 90, 26, 21); //part of image context.drawimage(imgmain, 0, 0, 107, 86, 0, 180, 107, 86); context.drawimage(imgmain, 0, 0, 57, 86, 120, 180, 57, 86); context.drawimage(imgmain, 50, 0, 57, 86, 190, 180, 57, 86); context.drawimage(imgmain, 0, 0, 57, 43, 260, 180, 57, 43); context.drawimage(imgmain, 50, 43, 57, 43, 330, 223, 57, 43); } } </script> </head> <body> <div style="position: absolute; top: 50px; left: 50px;"> <canvas id="canvasone" width="500" height="300"> your browser does not support html5 canvas. </canvas> </div> </body> </html>
实例中引用的图:
实例效果图:
以上就是html5 canvas image的图文代码详解(一) 的详细内容。
其它类似信息

推荐信息