为图片加水印

@override<br> public void oncreate(bundle savedinstancestate) {
  super.oncreate(savedinstancestate);
  setcontentview(r.layout.main);
 
 
  imageview iv=(imageview)findviewbyid(r.id.testimageview);
<br>  drawable d=this.getresources().getdrawable(r.drawable.icon);
<br>  bitmap bm=createbitmap(drawabletobitmap(d),drawabletobitmap(this.getresources().getdrawable(r.drawable.bonus_delivery_small)));
<br>  iv.setimagebitmap(bm);<br> }<br> 
//drawable转换bitmap<br> public static bitmap drawabletobitmap(drawable drawable) {   <br>        <br>        bitmap bitmap = bitmap   <br>                        .createbitmap(   <br>                                        drawable.getintrinsicwidth(),   <br>                                        drawable.getintrinsicheight(),   <br>                                        drawable.getopacity() != pixelformat.opaque ? bitmap.config.argb_8888   <br>                                                        : bitmap.config.rgb_565);   <br>        canvas canvas = new canvas(bitmap);   <br>        //canvas.setbitmap(bitmap);   <br>        drawable.setbounds(0, 0, drawable.getintrinsicwidth(), drawable.getintrinsicheight());   <br>        drawable.draw(canvas);   <br>        return bitmap;   <br>} 
 
//icon加入水印
 private bitmap createbitmap( bitmap src, bitmap watermark ) <br>    { <br>        string tag = "createbitmap"; <br>        log.d( tag, "create a new bitmap" ); <br>        if( src == null ) <br>        { <br>            return null; <br>        }         int w = src.getwidth(); <br>        int h = src.getheight(); <br>        int ww = watermark.getwidth(); <br>        int wh = watermark.getheight(); <br>        //create the new blank bitmap  <br>        bitmap newb = bitmap.createbitmap( w, h, config.argb_8888 );//创建一个新的和src长度宽度一样的位图 <br>        canvas cv = new canvas( newb ); <br>        //draw src into  <br>        cv.drawbitmap( src, 0, 0, null );//在 0,0坐标开始画入src <br>        //draw watermark into <br>        cv.drawbitmap( watermark, w - ww-6, h - wh-2, null );//在src的右下角画入水印 <br>        //save all clip <br>        cv.save( canvas.all_save_flag );//保存 <br>        //store <br>        cv.restore();//存储 <br>        return newb; <br>    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值