簡體   English   中英

拍攝特定區域的屏幕截圖

[英]Take screenshots of specific areas

我要實現的目標是,我只想使用可以在屏幕周圍拖動的視圖來截屏特定區域,並且無論該視圖在其上懸停什么,都只會截屏所拖動視圖內的任何元素。

我一直在嘗試搜索做什么或從哪里開始,但是我的最初想法是截屏然后裁剪圖像以獲取所需的圖像。

但是除了SCREENSHOT --> GET IMAGE --> CROP IMAGE以外,還有其他方法SCREENSHOT --> GET IMAGE --> CROP IMAGE 是否可以僅查看並捕獲屏幕上所需的內容?

 import android.graphics.Bitmap; import android.graphics.Canvas; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import java.io.File; import java.io.FileOutputStream; import java.util.Random; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Bitmap bitmap = loadBitmapFromView(findViewById(R.id.activity_main),350,450); saveImage(bitmap); } public static void saveImage(Bitmap bitmap){ String root = Environment.getExternalStorageDirectory().toString(); File myDir = new File(root + "/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; } } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM