截屏并保存图片功能

news/2024/10/24 10:17:22/

**

截屏并保存图片功能

**

首先,重点Utils:
ScreenUtils.Java

package xcylwebview.utils;import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.util.DisplayMetrics;
import android.view.View;import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;/*** @ClassName ScreenUtils* @Description TODO* @Author DoLin。* @Date 2022/1/10 18:06* @Version 1.0*/
public class ScreenUtils {/*** 保存图片到文件File。** @param src   源图片* @param file  要保存到的文件* @param format 格式* @param recycle 是否回收* @return true 成功 false 失败*/public static boolean save(Bitmap src, File file, Bitmap.CompressFormat format, boolean recycle) {if (isEmptyBitmap(src))return false;OutputStream os;boolean ret = false;try {os = new BufferedOutputStream(new FileOutputStream(file));ret = src.compress(format, 100, os);if (recycle && !src.isRecycled())src.recycle();} catch (IOException e) {e.printStackTrace();}return ret;}/*** 获取当前屏幕截图,不包含状态栏(Status Bar)。** @param activity activity* @return Bitmap*/public static Bitmap screenShot(Activity activity,View view) {
//        View view = activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bmp = view.getDrawingCache();int statusBarHeight = getStatusBarHeight(activity);int width = (int) getDeviceDisplaySize(activity)[0];int height = (int) getDeviceDisplaySize(activity)[1];Bitmap ret = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height - statusBarHeight);view.destroyDrawingCache();return ret;}public static float[] getDeviceDisplaySize(Context context) {Resources resources = context.getResources();DisplayMetrics dm = resources.getDisplayMetrics();int width = dm.widthPixels;int height = dm.heightPixels;float[] size = new float[2];size[0] = width;size[1] = height;return size;}public static int getStatusBarHeight(Context context) {int height = 0;int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");if (resourceId > 0) {height = context.getResources().getDimensionPixelSize(resourceId);}return height;}/*** Bitmap对象是否为空。*/public static boolean isEmptyBitmap(Bitmap src) {return src == null || src.getWidth() == 0 || src.getHeight() == 0;}}

调用:

//relative_parent_first 其中此View是最外层的一个父布局
File file = new File(Environment.getExternalStorageDirectory(), "jieping.jpg");Bitmap bitmap = ScreenUtils.screenShot(HomeActivity.this, relative_parent_first);

权限别网了哈:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

http://www.ppmy.cn/news/659551.html

相关文章

Snipaste截屏软件使用

简介 一款截屏软件, 可将图片悬浮于屏幕最上层, 可缩放最小化图片, 可提取色值等等. 下载: Snipaste 官网下载 v2.56Beta 效果: 安装及使用: → 下载后解压 → 运行 Snipaste.exe设置: 右键 → 首选项 → 截屏 → 显示 → 勾选 显示全屏十字线右键 → 首选项 → 截…

Snipaste截屏贴屏工具

F1截图&#xff0c;F3贴图是那种钉在屏幕最前端的那种&#xff0c;能一次贴好多&#xff0c;有点时候还是很好用的。 F1 截屏F3 贴图Esc 中止截屏鼠标滚轮放大Ctrl S 将图像保存为文件 安装 压缩包解压到你的文件夹&#xff0c;在文件夹里面找到.exe文件打开即可 注意事项 …

截屏工具Snipaste使用指南

Snipaste 是一个简单但强大的贴图工具&#xff0c;同时也可以执行截屏、标注等功能。 开始截图 快捷键&#xff08;默认为 F1&#xff09;鼠标左键 单击托盘图标 何为一次成功的截图 保存到剪贴板 ( Ctrl C / Enter / 双击 截屏区域)保存到文件 ( Ctrl S)保存到贴图 ( Ct…

截图工具snipaste安装和使用

浏览器搜索并下载压缩包 解压 我用的是x64&#xff0c;打开这个文件夹 然后点击彩色图案snipaste即可 该软件不需要安装&#xff0c;所以点击后直接会在任务栏出现&#xff0c;右击显示快捷键。一般截屏是F0、贴图是F3&#xff0c;但是我的不起作用&#xff0c;我就进入首选项-…

如何巧用print screen进行截图?

目录 一 引文&#xff1a; 二 三种截图方法&#xff1a; 1.prt sc 快速全屏幕截图 2.altprtsc 截取鼠标所在窗口 3.使用截图和草图工具 4.使用第三方提供的截图工具&#xff08;种类繁多此处不赘述&#xff09; 三 调整设置用prtsc快速调起截图和草图 第一步…

【线上处理经验】中间件问题:羊群效应

文章目录 1. 羊群效应是什么?2. 如何实现羊群效应的解决?2.1. 负载均衡2.2. 限流降级2.3. 异常熔断2.4. 服务降级3. 技术手段3.1. 针对负载均衡技术的技术手段3.2. 针对限流降级技术的技术手段3.3. 针对异常熔断技术的技术手段3.4. 针对服务降级技术的技术手段1. 羊群效应是什…

森云+优控配置摄像头进行录像和拍照测试

森云和优控配置摄像头进行录像和拍照测试 现在其实已经基本上明确自己的环境了&#xff0c;就是在ubuntu下的pycharm和vscode&#xff0c;然后下载conda&#xff08;但是不要默认的base环境&#xff0c;只要conda create -n xxx 这样的基本功能就好了&#xff09; 显示opencv…

在线PDF工具

PDF在线处理&#xff1a; https://hipdf.com/ https://smallpdf.com/ https://www.ilovepdf.com/ https://pdf.io/ https://pdfio.co/ http://app.xunjiepdf.com/ http://pdf2doc.com/zh/ https://www.99pdf.com/ 图片处理&#xff1a; https://www.iloveimg.com htt…