精华内容
下载资源
问答
  • android轻量级的截屏工具非常的好用 1.把脚本放入指定目录下面: C:\Users\****\AppData\Local\Android\Sdk\platform-tools 2.把用手机打开想要截图的页面双击运行此脚本,图片就截取到脚本所在的文件夹
  • 实现一个简单的截图功能以及给图片添加水印的功能,直接上代码!一、代码实现import android.app.Activity;import android.graphics.Bitmap;import android.graphics.Canvas;import android.graphics.Color;import ...

    实现一个简单的截图功能以及给图片添加水印的功能,直接上代码!

    一、代码实现

    import android.app.Activity;

    import android.graphics.Bitmap;

    import android.graphics.Canvas;

    import android.graphics.Color;

    import android.graphics.Paint;

    import android.graphics.Typeface;

    import android.graphics.Bitmap.Config;

    import android.os.Bundle;

    import android.text.format.Time;

    import android.view.View;

    import android.view.View.OnClickListener;

    import android.widget.Button;

    import android.widget.ImageView;

    public class GetAppThumbnailActivity extends Activity {

    private Button btnThum;

    private ImageView imgThum;

    private ImageView imgSource;

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    setupViews();

    }

    private void setupViews() {

    btnThum = (Button) findViewById(R.id.getThum);

    imgThum = (ImageView) findViewById(R.id.setThum);

    imgSource = (ImageView) findViewById(R.id.source);

    btnThum.setOnClickListener(new OnClickListener() {

    @Override

    public void onClick(View v) {

    Bitmap bitmap = getViewBitmap(imgSource);

    Bitmap bitmap1 = createBitmap(bitmap, "haha哈哈");

    if (bitmap1 != null) {

    imgThum.setImageBitmap(bitmap1);

    }

    }

    });

    }

    /**

    * Draw the view into a bitmap.

    */

    private Bitmap getViewBitmap(View v) {

    v.clearFocus();

    v.setPressed(false);

    boolean willNotCache = v.willNotCacheDrawing();

    v.setWillNotCacheDrawing(false);

    // Reset the drawing cache background color to fully transparent

    // for the duration of this operation

    int color = v.getDrawingCacheBackgroundColor();

    v.setDrawingCacheBackgroundColor(0);

    if (color != 0) {

    v.destroyDrawingCache();

    }

    v.buildDrawingCache();

    Bitmap cacheBitmap = v.getDrawingCache();

    if (cacheBitmap == null) {

    return null;

    }

    Bitmap bitmap = Bitmap.createBitmap(cacheBitmap);

    // Restore the view

    v.destroyDrawingCache();

    v.setWillNotCacheDrawing(willNotCache);

    v.setDrawingCacheBackgroundColor(color);

    return bitmap;

    }

    // 给图片添加水印

    private Bitmap createBitmap(Bitmap src, String str) {

    Time t = new Time();

    t.setToNow();

    int w = src.getWidth();

    int h = src.getHeight();

    String mstrTitle = "截图时间:"+t.hour + ":" + t.minute + ":" + t.second;

    Bitmap bmpTemp = Bitmap.createBitmap(w, h, Config.ARGB_8888);

    Canvas canvas = new Canvas(bmpTemp);

    Paint p = new Paint();

    String familyName = "宋体";

    Typeface font = Typeface.create(familyName, Typeface.BOLD);

    p.setColor(Color.BLUE);

    p.setTypeface(font);

    p.setTextSize(22);

    canvas.drawBitmap(src, 0, 0, p);

    canvas.drawText(mstrTitle, 0, 20, p);

    canvas.save(Canvas.ALL_SAVE_FLAG);

    canvas.restore();

    return bmpTemp;

    }

    }

    2、资源描述文件

    android:orientation="vertical" android:layout_width="fill_parent"

    android:layout_height="fill_parent">

    android:id="@+id/getThum"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    android:text="@string/str_getthum"/>

    android:id="@+id/setThum"

    android:background="@drawable/no_image"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"/>

    android:id="@+id/source"

    android:background="@drawable/v"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"/>

    4、效果演示

    0818b9ca8b590ca3270a3433284dd417.png

    展开全文
  • 主要介绍了 Android截屏截图方法汇总(Activity、View、ScrollView、ListView、RecycleView、WebView截屏截图)的相关资料,需要的朋友可以参考下
  • android截屏

    2014-07-16 10:38:11
    这里不是通过view来截图,也不是通过底层的framebuffer实现截图,而是采用另外一种方法实现截图,通过Runtime.getRuntime().exec()来实现,并保存在sdcard上,代码很简单。
  • Android截屏

    2017-03-30 09:18:14
    前段时间,公司要搞MDM,也是是设备管理,话说这个玩意没有硬件厂商的配合是无法完成的,但是领导说先弄一弄,试一试,然后就有了这篇文章废话不多说,开整Android截屏无非就是前台截屏和后台截屏两种一....

    前段时间,公司要搞MDM,也是是设备管理,话说这个玩意没有硬件厂商的配合是无法完成的,但是领导说先弄一弄,试一试,然后就有了这篇文章

    废话不多说,开整

    Android的截屏无非就是前台截屏和后台截屏两种

    一.先说前台截屏,在当前APP中的截屏,此方法只能在当前进程中截取屏幕,很多应用都是使用此方法截屏后,做分享使用

    这里写图片描述

    二.跨进程后台截屏

    1.Android 4.0以下版本的后台截屏

    通过JNI方式截取屏幕,但是需要源码的编译环境,网上的资料基本都是Android 2.3版本左右的参考代码,由于源码环境不具备 所以还不能进行尝试

    2.Android 4.0-4.2版本后台截屏,这个版本可以使用反射android.view.Surface类的screenshot方法完成,优点就是无需Root但是适用版本太少,打包完的APK需要系统签名才可以运行

    这里写图片描述

    3.Android4.3以上,5.0以下版本的截屏,4.3版本其实也存在screenshot方法,只不过他所属的整个类android.view.SurfaceControl都被hide了,所以通过一般的反射是无法调用的,ROOT之后即可解决,先执行下 Runtime.getRuntime().exec(“su”),然后在执行我们需要的命令。实际上就是在Android端执行了shell命令

    这里写图片描述

    4.Android5.0以上版本,5.0版本API文档中出现了新的接口服务类,我们可以调用其为我们做截屏操作,使用了service,且该服务需要获取到startActivityForResult中的结果数据,由于直接在service中调用startActivityForResult不现实,所以后台截屏不是十分适合,程序起来的时候会询问权限

    首先创建ImageReader的实例

    这里写图片描述

    触发截屏事件

    这里写图片描述

    获取屏幕内容

    这里写图片描述

    与此同时,获取MediaProjection实例,这里的mResultData就是授权返回的结果

    这里写图片描述

    得到当前屏幕的内容,注意只是内容

    这里写图片描述

    开始截取屏幕

    这里写图片描述

    起一个异步线程 转换Image为Bitmap 存储

    这里写图片描述

    5.0以上的截屏 还在实践当中 其中还有诸多不足,比如权限的给予,图片文件有时候会NullPointer,图片大小为0

    /***********************************************END****************************************************/

    展开全文
  • android截屏源码

    2020-11-14 02:00:17
    android截屏源码
  • Android截屏源码

    2011-09-24 17:14:58
    Android截屏源码Android截屏源码Android截屏源码Android截屏源码Android截屏源码Android截屏源码Android截屏源码
  • Android 截屏 APP 工具.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • ANDROID截屏

    千次阅读 2012-07-31 15:22:57
    import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException;...import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Rect; im
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.graphics.Rect;
    import android.util.Log;
    import android.view.View;
    
    public class ScreenShot {
        // 获取指定Activity的截屏,保存到png文件
        private static Bitmap takeScreenShot(Activity activity) {
            // View是你需要截图的View
            View view = activity.getWindow().getDecorView();
            view.setDrawingCacheEnabled(true);
            view.buildDrawingCache();
            Bitmap b1 = view.getDrawingCache();
    
            // 获取状态栏高度
            Rect frame = new Rect();
            activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
            int statusBarHeight = frame.top;
            Log.i("TAG", "" + statusBarHeight);
    
            // 获取屏幕长和高
            int width = activity.getWindowManager().getDefaultDisplay().getWidth();
            int height = activity.getWindowManager().getDefaultDisplay()
                    .getHeight();
            // 去掉标题栏
            // Bitmap b = Bitmap.createBitmap(b1, 0, 25, 320, 455);
            Bitmap b = Bitmap.createBitmap(b1, 0, statusBarHeight, width, height
                    - statusBarHeight);
            view.destroyDrawingCache();
            return b;
        }
    
        // 保存到sdcard
        private static void savePic(Bitmap b, String strFileName) {
            FileOutputStream fos = null;
            try {
                fos = new FileOutputStream(strFileName);
                if (null != fos) {
                    b.compress(Bitmap.CompressFormat.PNG, 90, fos);
                    fos.flush();
                    fos.close();
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        // 程序入口
        public static void shoot(Activity a) {
            ScreenShot.savePic(ScreenShot.takeScreenShot(a), "sdcard/xx.png");
        }
    }
    
     
    
     
    
    需要注意的是,shoot方法只能在view已经被加载后方可调用。
    
    或者在    @Override
        public void onWindowFocusChanged(boolean hasFocus) {
            // TODO Auto-generated method stub
            super.onWindowFocusChanged(hasFocus);
            ScreenShot.shoot(this);
        }中调用

    展开全文
  • android截屏上传图片到服务器.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
  • android 截屏

    千次阅读 2013-07-23 13:26:16
    实现截图! public Bitmap getView(View view) { // 设置使用缓存绘图 view.setDrawingCacheEnabled(true); // 建立缓存 view.buildDrawingCache(); Bitmap tmp = view.getDrawingCache(); view.setDrawingCa

    1.给一个任意的视图对象就可以!实现截图!

    public Bitmap getView(View view)
    {
    // 设置使用缓存绘图
    view.setDrawingCacheEnabled(true);
    // 建立缓存
    view.buildDrawingCache();
    Bitmap tmp = view.getDrawingCache();
    view.setDrawingCacheEnable(false);
    return tmp;
    }

    2.截屏

    public Bitmap getView(Activity activity)
    {
    View view = activity.getWindow().getDecorView();
    // 设置使用缓存绘图
    view.setDrawingCacheEnabled(true);
    // 建立缓存
    view.buildDrawingCache();
    Bitmap tmp = view.getDrawingCache();
    view.setDrawingCacheEnable(false);
    return tmp;
    }



    展开全文
  • Android截屏分享功能

    2021-01-20 09:24:23
    最近项目需要实现Android截屏分享功能,包括Android截屏获取图片、将图片保存到本地、通知系统相册更新、通过微信、QQ、微博分享截屏图片,本篇文章作为总结回顾。  一、Android截屏获取图片  通过对view进行绘制...
  • Android 截屏并且合成截屏图片 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]
  • android 截屏2.2

    2013-07-31 20:03:13
    android 截屏2.2 ,C++实现,
  • 本篇文章主要介绍了Android截屏事件监听,Android系统没有直接对截屏事件监听的接口,本文介绍了2种方法,有兴趣的可以了解一下。
  • android截屏分享

    千次阅读 2018-02-05 17:07:27
    android 截屏分享
  • Android截屏分享

    千次阅读 2017-05-08 13:18:05
    最近项目需要实现Android截屏分享功能,包括Android截屏获取图片、将图片保存到本地、通知系统相册更新、通过微信、QQ、微博分享截屏图片,本篇博客作为总结回顾。  一、Android截屏获取图片  通过对view进行绘制...
  • Android截屏  Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途 一、Activity截屏 1、截Activity界面(包含空白的状态栏) /** * 根据指定的...
  • Android截屏  Android截屏的原理:获取具体需要截屏的区域的Bitmap,然后绘制在画布上,保存为图片后进行分享或者其它用途 一、Activity截屏 1、截Activity界面(包含空白的状态栏) /** * 根据指定的...
  • 给大家介绍了Android截屏方案实现原理解析,包括普通截屏,Scrollview截屏,Scrollview截屏,RecyclerView截屏等,具体截屏实现原理,大家参考下本
  • android 截屏, 消息栏未截图

    千次阅读 2015-02-15 10:00:03
    http://www.zuidaima.com/share/1550463684332544.htm 源代码下载地址:android 截屏, 消息栏未截图
  • android截屏代码

    2012-10-26 16:24:02
    android截图代码 常用的drawingcache方法代码
  • Android截图命令screencap

    万次阅读 热门讨论 2014-06-07 13:28:52
    注意: 如果文件名以.png结尾时,它将保存为png文件 如果文件名没有给出,则结果被会被输出到stdout 截图保存到SD卡里再导出 $ adb shell screencap -p /sdcard/screen.png $ adb pull /sdcard/screen.png $ adb ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 95,653
精华内容 38,261
关键字:

android截屏