首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

替图片加水印

2012-06-27 
为图片加水印@overridebr?public void oncreate(bundle savedinstancestate) {??super.oncreate(savedin

为图片加水印
    @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>??? }
 

热点排行