Android实现分享长图并且添加全图水印
Android实现分享长图并且添加全图水印
前言:
长图一般是ScrollView和ListView。
我们需要取得这两个控件的完整显示的图片。原理很简单,搞一张和控件长宽一致的画布(就是创建一个高宽相等的bitmap)。然后调用控件的draw方法把自己画到画布上去。
分别贴出两个控件的长图获取方法
/**
*截取scrollview的屏幕
**/
publicstaticBitmapgetScrollViewBitmap(ScrollViewscrollView){
inth=0;
Bitmapbitmap;
for(inti=0;i
/**
*截图listview
**/
publicstaticBitmapgetListViewBitmap(ListViewlistView,Stringpicpath){
inth=0;
Bitmapbitmap;
//获取listView实际高度
for(inti=0;i
奉送个获取具体view的显示图的方法
/**
*生成某个view的图片
*
*@authorgengqiquan
*@date2017/3/20上午10:34
*/
publicstaticBitmapgetViewDrawingCacheBitmap(Viewview){
view=view.getRootView();
if(!view.isDrawingCacheEnabled()){
view.setDrawingCacheEnabled(true);
}
view.destroyDrawingCache();
view.buildDrawingCache();
Bitmapbm=view.getDrawingCache();
view.setDrawingCacheEnabled(false);
returnbm;
}
再奉送个生成某个LinearLayout图片的方法
/**
*生成某个LinearLayout的图片
*
*@authorgengqiquan
*@date2017/3/20上午10:34
*/
publicstaticBitmapgetLinearLayoutBitmap(LinearLayoutlinearLayout){
inth=0;
//获取LinearLayout实际高度
for(inti=0;i
完了产品肯定会让你在下面或者上面加上公司的logo图片的,嗯。好人做到低,再送个拼接图片的方法
/**
*拼接图片
*@paramfirst分享的长图
*@paramsecond公司logo图
*@authorgengqiquan
*@date2017/3/25下午4:56
*/
publicstaticBitmapadd2Bitmap(Bitmapfirst,Bitmapsecond){
floatscale=((float)first.getWidth())/second.getWidth();
second=ImageUtil.scaleImg(second,scale);
intwidth=first.getWidth();
intheight=first.getHeight()+second.getHeight();
Bitmapresult=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_4444);
Canvascanvas=newCanvas(result);
canvas.drawBitmap(first,0,0,null);
canvas.drawBitmap(second,0,first.getHeight(),null);
returnresult;
}
再来个添加全图水印的方法
/**
*@paramfirst原始图
*@parammark水印图
*@authorgengqiquan
*@date2017/3/25下午4:58
*/
publicstaticBitmapwaterMark(Bitmapfirst,Bitmapmark){
floatscale=((float)first.getWidth())/mark.getWidth();
mark=ImageUtil.scaleImg(mark,scale);
intwidth=first.getWidth();
intheight=first.getHeight();
Bitmapresult=Bitmap.createBitmap(width,height,Bitmap.Config.ARGB_4444);
Canvascanvas=newCanvas(result);
canvas.drawBitmap(first,0,0,null);
inth=0;
while(h
坑爹的chrome有bug。一在这个位置点换行接向上按键就崩溃。写个博客崩溃了七八次。最近真的是运气不好。
其实我是想说:由于最近被注入了个对象,依赖性比较强,所以这段时间很少写博客了,后面补上。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!