屏幕特定区域的屏幕截图

时间:2019-12-23 18:55:52

标签: java android screenshot

我创建了一个后期活动,用户可以在其中编写帖子。我正在尝试创建一种方法,通过该方法可以捕获特定屏幕高度和宽度的帖子的屏幕截图。我已经在互联网上搜索了解决方案,但没有找到可以满足我的问题的解决方案。 我提供了我曾经使用的代码,但是没有用。如果您有任何解决方案,请与我们分享,以便我完成我的项目。

下面提供了

我尝试过的代码。

 private void postpreviewmethod() {
    createnextbutton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Bitmap bitmap = loadBitmapFromView(v,350,450);
            saveImage(bitmap);
        }
    });
}

public static void saveImage(Bitmap bitmap){
    String root = Environment.getExternalStorageDirectory().toString();
    File myDir = new File(root + "/Alpha/req_images");
    myDir.mkdirs();
    Random generator = new Random();
    int n = 10000;
    n = generator.nextInt(n);
    String fname = "Image-" + n + ".jpg";
    File file = new File(myDir, fname);
    //  Log.i(TAG, "" + file);
    if (file.exists())
        file.delete();
    try {
        FileOutputStream out = new FileOutputStream(file);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);
        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public static Bitmap loadBitmapFromView(View v, int width, int height) {
    Bitmap b = Bitmap.createBitmap(width , height, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
    v.draw(c);
    return b;
}

0 个答案:

没有答案