美文网首页
控件截图并通知图库更新

控件截图并通知图库更新

作者: 风轻云淡宇 | 来源:发表于2018-04-18 09:46 被阅读0次
    // 通知图库更新
    void saveImageToGallery(){
           // mViewScreenShot要截图的控件
            String path = CommonUtils.saveImage(this, mViewScreenShot);
            if(!TextUtils.isEmpty(path)){
                // 最后通知图库更新
                this.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + path)));
                ToastUtils.show(this, "图片已保存至"+path);
            }
    
        }
    
        public static String saveImage(Activity activity, View v) {
            Bitmap bitmap;
            File appDir = new File(Environment.getExternalStorageDirectory(), "yourCustomerDir");
            if (!appDir.exists()) {
                appDir.mkdir();
            }
            String fileName = System.currentTimeMillis() + ".jpg";
            File file = new File(appDir, fileName);
            
           // 获取顶级视图的截图Bitmap
            View view = activity.getWindow().getDecorView();
            view.setDrawingCacheEnabled(true);
            view.buildDrawingCache();
            bitmap = view.getDrawingCache();
    
           /// 根据要截图的控件位置河虾从顶级视图Bitmap截取想要的控件截图Bitmap
            Rect frame = new Rect();
            activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
            int[] location = new int[2];
            v.getLocationOnScreen(location);
            try {
                bitmap = Bitmap.createBitmap(bitmap, location[0], location[1], v.getWidth(), v.getHeight());
                FileOutputStream fout = new FileOutputStream(file);
                bitmap.compress(Bitmap.CompressFormat.PNG, 100, fout);
                return file.getAbsolutePath();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IllegalArgumentException e) {
            } finally {
                // 清理缓存
                view.destroyDrawingCache();
            }
            return null;
    
        }
    ``

    相关文章

      网友评论

          本文标题:控件截图并通知图库更新

          本文链接:https://www.haomeiwen.com/subject/ciamkftx.html