Android截取指定View为图片的实现方法
程序员文章站
2022-10-13 09:40:42
本文实例为大家分享了android截取指定view为图片的具体代码,供大家参考,具体内容如下
这个功能是为了截取指定的view为图片,然后分享到微信以及朋友圈使用的!...
本文实例为大家分享了android截取指定view为图片的具体代码,供大家参考,具体内容如下
这个功能是为了截取指定的view为图片,然后分享到微信以及朋友圈使用的!
如图所示,我需要截取整个linearlayout的内容,多余的内容全部都要去掉!
//诺,主要观察这两个方法 /** * 压缩图片 * * @param bgimage * @param newwidth * @param newheight * @return */ public static bitmap zoomimage(bitmap bgimage, double newwidth, double newheight) { // 获取这个图片的宽和高 float width = bgimage.getwidth(); float height = bgimage.getheight(); // 创建操作图片用的matrix对象 matrix matrix = new matrix(); // 计算宽高缩放率 float scalewidth = ((float) newwidth) / width; float scaleheight = ((float) newheight) / height; // 缩放图片动作 //matrix.postscale(scalewidth, scaleheight);//todo 因为宽高不确定的因素,所以不缩放 bitmap bitmap = bitmap.createbitmap(bgimage, 0, 0, (int) width, (int) height, matrix, true); return bitmap; } /** * 截取指定view为图片 * * @param view * @return * @throws throwable */ public static bitmap captureview(view view) throws throwable { bitmap bm = bitmap.createbitmap(view.getwidth(), view.getheight(), bitmap.config.argb_8888); view.draw(new canvas(bm)); return bm; }
其实很简单,就是首先获取view的宽高,然后设置bitmap格式,最后生成一张bitmmap对象,然后在绘制出来,就这么个道理!
//这个是使用逻辑 bitmap bitmap = null; try { bitmap = captureview(msharebackgroundsign); } catch (throwable throwable) { throwable.printstacktrace(); } umimage umimage = null; umimage = new umimage(getactivity(), zoomimage(bitmap, 720, 1280)); new shareaction(getactivity()).setplatform(share_media.weixin) .withtext(content) .withmedia(umimage) .share();
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: Android仿微信网络加载弹出框