android截全屏方法,Android:以编程方式截取所选区域的屏幕截...

该代码示例展示了如何在Android应用中实现全屏截图,但现在需求是在点击按钮后截取屏幕上的特定区域,例如左侧块。目前的folderCheck()和ScreenShot()方法已实现文件夹检查和全屏截图。为了截取特定区域,需要修改代码以获取并保存屏幕的特定部分。
摘要由CSDN通过智能技术生成

我的代码如下:

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Button upload = (Button) findViewById(R.id.screeshotdButton);

upload.setOnClickListener(new Button.OnClickListener() {

@Override

public void onClick(View v) {

folderCheck();

}

});

}

private void folderCheck(){

File folder = new File(Environment.getExternalStorageDirectory() + "/cloze_screenshots");

boolean success = true;

// If the folder cloze not exist, create one

if (!folder.exists()) {

success = folder.mkdir();

}else{

ScreenShot();

}

// If mkdir successful

if (success) {

ScreenShot();

} else {

Log.e("mkdir_fail","QQ");

}

}

private void ScreenShot(){

String filePath = Environment.getExternalStorageDirectory()+ "/cloze_screenshots/temp.png";

// create bitmap screen capture

Bitmap bitmap;

View v1 = getWindow().getDecorView().getRootView();

v1.setDrawingCacheEnabled(true);

bitmap = Bitmap.createBitmap(v1.getDrawingCache());

v1.setDrawingCacheEnabled(false);

OutputStream fout = null;

File imageFile = new File(filePath);

try {

fout = new FileOutputStream(imageFile);

bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fout);

fout.flush();

fout.close();

Toast.makeText(this, "Success", Toast.LENGTH_LONG).show();

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

此代码可以采用全屏截图,但我想在按下按钮后以编程方式在特定区域(例如,屏幕上的左侧块)上截取屏幕截图.

任何代码或建议将不胜感激.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值