Canvas(二)

绘制图像

//首先传入一个HTML<img>元素,以及 绘制该图像的起点(x,y)
    var image=document.images[0];
//获取一幅图像并绘制到上下文中,起点为(10,10),如果想改变Image大小,最后两个参数可以省略,默认1.0倍缩放。
    context.drawImage(image,10,10,width,height);
//可以把图像中的某个区域绘制到上下文中。drawImage( )方法有9个参数
//[要绘制的图像,源图像坐标X,源图像坐标Y,源图像宽度,源图像高度,目标图像坐标X,目标图像Y,目标图像宽度,目标图像高度]
context.drawImage(iamge,0,10,50,50,0,100,40,60);
//源图像是50X50像素,起点为(0,10),绘制到(0,100),大小为40X60像素。

★ 导出图像

var drawing=document.getElementById("drawing");
if(drawing.getContext){
//获得图像的数据URI
    var imgURI=drawing.toDataURL("img/png");
//显示图像
    var image=document.createElement("img");
    image.src=imgURI;
    document.body.appendChild(image);

阴影

shadowColor:阴影颜色
shadowOffsetX/shadowOffsetY:X/Y轴方向偏移量
shadowBlur:阴影模糊像素数

渐变

渐变由CanvasGradient实例表示,要调用createLinearGradient( )方法来创建一个新的线性渐变。该方法接收4个参数,起点的(x,y)和重点的(x,y),并返回CanvasGradient对象的实例。

创建了渐变对象后,使用addColorStop( )方法来指定色标。这个方法接收两个参数:0(起始颜色)或1(结束颜色)和CSS颜色值。

var gradient=context.createLinearGradient(30,30,70,70);
gradient.addColorStop(0,"white");
gradient.addColorStop(1,"black");

创建放射渐变,可以使用createRadialGradient( )方法,该方法接收6个参数,分别是同心圆内圆的圆心半径和外圆的圆心半径

var gradient=context.createRadialGradient(55,55,10,55,55,30);
gradient.addColorStop(0,"white");
gradient.addColorStop(1,"black");
posted @ 2017-01-20 11:12  OHAYO_Mario  阅读(117)  评论(0编辑  收藏  举报