android截取view,Android截取指定View为图片的实现方法

本文介绍了如何在Android中截取指定的View为图片,并进行压缩,以便分享到微信和朋友圈。通过`captureView()`方法获取View的位图,然后使用`zoomImage()`方法进行图片压缩,确保尺寸适应分享需求。最终通过Umeng SDK进行内容分享。
摘要由CSDN通过智能技术生成

本文实例为大家分享了Android截取指定View为图片的具体代码,供大家参考,具体内容如下

6d03f36938c043e25fbcaa4b554ebb10.png

这个功能是为了截取指定的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();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值