渐变HTML5 Canvas实现图片缩放、翻转、颜色渐变代码示例

渐变图片  时间:2021-04-21  阅读:()

★精品文档★

HTML5 Canvas实现图片缩放、翻转、颜色

渐变代码示例

这篇文章主要介绍了 HTML5 Canvas实现图片缩放、翻转、颜色渐变的代码示例,充分利用到了坐标的操作,说明都写在代码注释里了很简明,需要的朋友可以参考下

翻转、移动、平移、放大、缩小

XML/HTML Codevar canvas = document.getElementById(‘canvas’);  if (canvas.getContext) {  

   var context = canvas.getContext(‘2d’);  

   //放大与缩小  

  context.beginPath();  

    context.strokeStyle = “#000000”;  

    context.strokeRect(10,10,150,100);  

   //放大3倍  

  context.scale(3,3);  

  context.beginPath();  

    context.strokeStyle = ‘#cccccc’ ;

1/9

★精品文档★

  

    context.strokeRect(10,10,150,100)  

   //缩小  

  context.scale(0.5,0.5);  

  context.beginPath();  

    context.strokeStyle = ‘#cccccc’ ;  

    context.strokeRect(10,10,150,100)  

   //翻转  

  var img=new Image();  

   img.src=‘ images/1 .jpg’ ;  

   img.onload=function(){  

    context.drawImage(img,10,10);      

        context.scale(1 , -1);  

    context.drawImage(img,0, -500);  

   }  

   //平移  

2/9

★精品文档★

  context.beginPath();  

    context.strokeStyle = ‘#000000’ ;  

    context.strokeRect(10,101 ,150,100);  

    // x移动 50  y移动 100  

  context.translate(50,100);  

  context.beginPath();  

    context.strokeStyle = ‘#cccccc’ ;  

    context.strokeRect(10,10,150,100);  

   //旋转  

  context.beginPath();  

    context.strokeStyle = ‘#000000’ ;  

    context.strokeRect(200,50,100,50);  

    //默认旋转是根据0,0 中心使用translate可以按照自己的设置的中心旋转  

  context.translate(250,75);  

3/9

★精品文档★

    context.rotate(45 * Math.PI /180);  

    context.translate(-250, -75);  

  context.beginPath();  

    context.strokeStyle = ‘#cccccc’ ;  

    context.strokeRect(200,50,100,50);  

   // transform矩阵  

  context.beginPath();  

    context.strokeStyle = ‘#000000’ ;  

    context.strokeRect(10,10,150,100);  

    context.transform(3,0,0,3,0,0);  

  context.beginPath();  

    context.strokeStyle = ‘#cccccc’ ;  

    context.strokeRect(10,10,150,100);  

4/9

★精品文档★

} 

渐变、 图像组合效果、颜色翻转

XML/HTML Codevar canvas = document.getElementById(‘canvas’);  if (canvas.getContext) {  

   var context = canvas.getContext(‘2d’);  

   //线性绘制渐变  

    var grd =context.createLinearGrad ient(0,0,200,100);  

   // postion必须是0.1-1 .0之间的竖直表示渐变中颜色的地点相对地位 color表示颜色  

    grd.addColorStop(0.1 , “#00ff00”);  

    grd.addColorStop(0.8, “#ff0000”);  

  context.fi l lStyle=grd;  

    context.fi l lRect(0,0, 200,100);  

   //径向渐变  

5/9

★精品文档★

    var grd =context.createRadialGradient(100,100,10,100,100,50);  

    grd.addColorStop(0.1 , “#00ff00”);  

    grd.addColorStop(0.8, ‘#ff0000’);  

  context.fi l lStyle=grd;  

    context.fi l lRect(0,0,200,200);  

   //图像组合效果  

     context.fi l lStyle = ‘#00ff00’ ;  

     context.fi l lRect(10,10,50,50);  

   //新绘图  

    //context.globalCompositeOperation  =“source-over”;  

     //只绘制新内容删除其他所有内容  

   

6/9

★精品文档★

 context.globalCompositeOperation = ‘copy’ ;  

     //图形重叠的地方其颜色值相减后决定  

    context.globalCompositeOperation = ‘darker’ ;  

     //画布上已经有的内容只会载和其他图形重叠的地方保留  

    context.globalCompositeOperation =‘destination-atop’ ;  

     // 参 考http://www.w3school .com.cn/htmldom/prop_canvasrenderingcontext2d_globalcompositeoperation.asp  

     context.beginPath();  

     context.fi l lStyle = ‘#ff0000’ ;  

     context.arc(50,50,30,0, 2 *Math.PI);  

   context.fi l l();  

7/9

★精品文档★

   //颜色翻转  

     var img = new Image();  

      

      img.src = ‘ images/1 .jpg’ ;  

      img.onload =function(){  

        context.drawImage(img,0,0, 1 , 1);  

         var imgData =context.getImageData(0,0, 1 ,1);  

         var pixels =imgData.data;  

        console. log(pixels);  

     for(var i=0, n =pixels. length; i< n; i+=4) {  

            pixels[i]=255-pixels[i];  

            pixels[i+1]=255-pixels[i+1];  

8/9

★精品文档★

            pixels[i+2]=255-pixels[i+2];  

     }  

        context.putImageData(imgData, 250, 0);  

   }  

} 

9/9

CloudCone2核KVM美国洛杉矶MC机房机房2.89美元/月,美国洛杉矶MC机房KVM虚拟架构2核1.5G内存1Gbps带宽,国外便宜美国VPS七月特价优惠

近日CloudCone发布了七月的特价便宜优惠VPS云服务器产品,KVM虚拟架构,性价比最高的为2核心1.5G内存1Gbps带宽5TB月流量,2.89美元/月,稳定性还是非常不错的,有需要国外便宜VPS云服务器的朋友可以关注一下。CloudCone怎么样?CloudCone服务器好不好?CloudCone值不值得购买?CloudCone是一家成立于2017年的美国服务器提供商,国外实力大厂,自己开...

水墨云历史黑名单IDC,斟酌选购

水墨云怎么样?本站黑名单idc,有被删除账号风险,建议转出及数据备份!水墨云ink cloud Service是成立于2017年的商家,自2020起开始从事香港、日本、韩国、美国等地区CN2 GIA线路的虚拟服务器租赁,同时还有台湾、国内nat vps相关业务,也有iplc专线产品,相对来说主打的是大带宽服务器产品。注意:本站黑名单IDC,有被删除账号风险,请尽量避免,如果已经购买建议转出及数据备...

创梦云 香港沙田、长沙联通2核1G仅需29元一个月 挂机宝7元一个月

商家介绍:创梦云是来自国内的主机销售商,成立于2018年4月30日,创梦云前期主要从事免备案虚拟主机产品销售,现在将提供5元挂机宝、特惠挂机宝、香港云服务器、美国云服务器、低价挂机宝等产品销售。主打高性价比高稳定性挂机宝、香港云服务器、美国云服务器、香港虚拟主机、美国虚拟主机。官方网站:http://cmy0.vnetdns.com本次促销产品:地区CPU内存硬盘带宽价格购买地址香港特价云服务器1...

渐变图片为你推荐
http://www.tutorialspoint.com/css/css_dimension.htm支持ipad支持ipadcss3圆角在HTML里如何实现圆角矩形?ms17-010win1038度古贝春珍藏10价格?重庆电信测速重庆电信对BT开始限制了?联通合约机iphone5联通合约机iphone5能用移动卡吗chrome18请问chrome18怎么关闭硬件加速?ios10.0.3iphone se ios10.0.3能完美越狱吗?卡巴斯基好用吗卡巴斯基好吗?
如何注册域名 最便宜虚拟主机 企业主机 罗马假日广场 128m内存 双11抢红包攻略 天猫双十一抢红包 anylink qq对话框 hkt 如何安装服务器系统 国外ip加速器 双线机房 114dns 深圳主机托管 asp空间 美国主机 美国十大啦 hosts文件修改 更多