AS3 图片加水印

先看代码 后面附上解析!!

var addSp:Sprite=new Sprite();//结合图片与水印的容器
var txt:TextField=new TextField();//水印文字框
var imageBit:BitmapData=new kuImage(0,0);//在库中有链接导出为:kuImage的图片
var format:TextFormat=new TextFormat();//字体格式
format.size=22;
format.color=0xFF00FF;
txt.defaultTextFormat=format;
txt.text="系统水印";//默认给的水印文字
var shuiyingBit:BitmapData=new BitmapData(txt.textWidth,txt.textHeight,true,0x00000000);
shuiyingBit.draw(txt);
var drawSp:Shape=new Shape();
drawSp.graphics.beginBitmapFill(shuiyingBit);
drawSp.graphics.drawRect(0,0, shuiyingBit.width, shuiyingBit.height);
drawSp.graphics.endFill();
drawSp.x=imageBit.width-shuiyingBit.width;
drawSp.y=imageBit.height-shuiyingBit.height;
addSp.addChild(new Bitmap(imageBit));
addSp.addChild(drawSp);
addChild(addSp);

解析:

曾想用 BitmapData里面的merge方法 但不知道为什么 混合后 水印下面总是有一个背景色。merge后面的四个参数不知道怎么填了 或者说这个混合无法避免产生背景色

上面的方法可行 就稍繁琐了点 用BitmapData中的draw方法 将TextField对象转化成BitmapData对象。新建drawSp矢量容器 将水印填充到在这个容器里面

建立addSp容器 用来将水印和图片的

再建一个BitmapData对象 将addSp容器转化成BitmapData对象

然后一方面你可以保存此张加水印的图片了!

保存这里就不写了 保存用的方法有 JPGEncoder 方法转化成jpg二进制 然后用FileReference类保存到本地硬盘!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值