php + js如何实现裁剪任意形状图片

  介绍

这篇文章主要介绍了php + js如何实现裁剪任意形状图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

js的作用是什么

1,能够嵌入动态文本于HTML页面。2,对浏览器事件做出响应。3,读写HTML元素。4、在数据被提交到服务器之前验证数据。5,检测访客的浏览器信息。6,控制饼干,包括创建和修改等7,基于节点。js技术进行服务器端编程。

最近做到相关的项目,由于项目使用html2canvas,但是不支持css面具属性,故,利用php后台来裁剪。

准备两张图片,一张是镂空PNG图案,一张是任意纯色图片。

便能够在纯色图片上裁剪出镂空的图案为PNG文件。

见下图。

首先两张PNG图片:

 php + js如何实现裁剪任意形状图片”> <img src=

生成图片

 php + js如何实现裁剪任意形状图片

, js片段:

html2canvas(美元(“.head1pic"), {   ,,,,onrender:,函数(画布),{,   ,,,,url =, canvas.toDataURL(“图像/png",, 1.0);   ,,,,,,sourcePic =,“资产/图片/demo.png";   ,,,,,,maskPic =,“资产/图片/jinmao.png";   ,,,,,,,,,cropPicName =,“cropDog1";   ,,,,,,,,,//,ajax  php截的图   ,,,,,,,,,. ajax({美元   ,,,,,,,,,类型:,& # 39;文章# 39;   ,,,,,,,,,,url:, & # 39; getpicture& # 39;   ,,,,,,,,,数据:,{   ,,,,,,,,,,,“sourcePic":, sourcePic,   ,,,,,,,,,,,“maskPic":, maskPic,   ,,,,,,,,,,,“cropPicName": cropPicName   ,,,,,,,,,,,},   ,,,,,,,,:成功,函数(数据),{   ,,,,,,,,,,,,(“.page2Bg")[0]美元.setAttribute (“src",,“资产/图片/作物/cropDog1.png"),,   ,,,,,,,,,,,},   ,,,,,,,,错误:,功能(数据),{   ,,,,,,,,,,,,,console.log(数据)   ,,,,,,,,,,,,,}   ,,,,,,,,,,,});   ,,,,,,}   以前,});

PHP的片段:

, public  function  actionGetpicture ()   {,,才能   ,,,,request 美元;=,Yii:应用程序→美元请求;   ,,,sourcePic=美元请求→post (& # 39; sourcePic& # 39;);   ,,,maskPic=美元请求→post (& # 39; maskPic& # 39;),,   ,,,cropPicName=美元请求→post (& # 39; cropPicName& # 39;),,   ,   ,,,//,sourcePic=懊涝?http://bings.local.com/bi_ngs2_2/assets/images/yinpian1/page2Bg4.png";   ,,,//,maskPic=懊涝?http://bings.local.com/bi_ngs2_2/assets/images/jinmao.png";   ,,,source 美元;=,imagecreatefrompng (, sourcePic 美元;);   ,,,mask 美元;=,imagecreatefrompng (, maskPic美元),,   ,,,//,Apply  mask 用源   ,,,//,imagealphamask(,源美元,美元mask );   ,,,这个→美元imagealphamask (来源,美元,美元mask );   ,,,//输出   ,,,头(,“内容类型:图像/png"),,   ,,,//,生成截取后的图片并保存在本地   ,,,imagepng(,美元来源,“资产/图片/作物/啊ropPicName美元霸主地位;.png",);   ,,,//销毁图片内存   ,,,imagedestroy($源);   ,,,,,   ,,}   ,   public 才能;function  imagealphamask(,,,美元,美元mask ), {   ,,,//,Get  sizes 以及set  up  new 图片   ,,,xSize 美元;=,imagesx (, picture 美元;);   ,,,ySize 美元;=,imagesy (, picture 美元;);   ,,,newPicture 美元;=,imagecreatetruecolor (, xSize美元,美元ySize );   ,,,imagesavealpha (newPicture美元,大敌;true );   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

php + js如何实现裁剪任意形状图片