为图片加水印

 @Override
 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

     ImageView iv=(ImageView)findViewById(R.id.testImageView);
     Drawable d=this.getResources().getDrawable(R.drawable.icon);
     Bitmap bm=createBitmap(drawableToBitmap(d),drawableToBitmap(this.getResources().getDrawableR.drawable.bonus_delivery_small)));
     iv.setImageBitmap(bm);
 }
 

 //drawable转换Bitmap
 public static Bitmap drawableToBitmap(Drawable drawable) {   
        
     Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),   
                                         drawable.getIntrinsicHeight(),   
                                         drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565);   
     Canvas canvas = new Canvas(bitmap);   
     //canvas.setBitmap(bitmap);   
     drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());   
     drawable.draw(canvas);   
     return bitmap;   
 }  


 //icon加入水印
 private Bitmap createBitmap(Bitmap src, Bitmap watermark) 
 { 
     String tag = "createBitmap"; 
     Log.d(tag, "create a new bitmap"); 
     if (src == null) 
     { 
         return null; 
     }

     int w = src.getWidth(); 
     int h = src.getHeight(); 
     int ww = watermark.getWidth(); 
     int wh = watermark.getHeight(); 
     //create the new blank bitmap  
     Bitmap newb = Bitmap.createBitmap(w, h, Config.ARGB_8888);//创建一个新的和SRC长度宽度一样的位图 
     Canvas cv = new Canvas(newb); 
     //draw src into  
     cv.drawBitmap(src, 0, 0, null);//在 0,0坐标开始画入src
     //draw watermark into 
     cv.drawBitmap(watermark, w - ww-6, h - wh-2, null);//在src的右下角画入水印
     //save all clip 
     cv.save(Canvas.ALL_SAVE_FLAG);//保存
     //store 
     cv.restore();//存储

     return newb; 
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值