chromium screenshot

本文介绍了Chromium 39版本提供的异步截图API(Java):ContentReadbackHandler.java的使用方法。该API用于通过ContentViewRenderView对象进行截图操作,并提供了Java与C++两种语言的示例代码实现截图文件的保存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

chromium39提供了异步截图的api(java): ContentReadbackHandler.java, ContentReadbackHandler保存在ContentViewRenderView对象中。


java代码保存截图文件

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
private static int num = 0;
public void onFinishGetBitmap(Bitmap bitmap) {
    if (null == bitmap) return;
    File f = new File("/sdcard/webview-screenshot-" + (num++) + ".png");
    try {
     f.createNewFile();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     Log.d("siyt", "siyt(0305-1): IOException:"+e.toString());
    }
    FileOutputStream fOut = null;
    try {
     fOut = new FileOutputStream(f);
    } catch (FileNotFoundException e) {
     e.printStackTrace();
    }
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
    try {
     fOut.flush();
    } catch (IOException e) {
     e.printStackTrace();
    }
    try {
     fOut.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
}

c++中保存截图代码

bool OnSnapshotTaken(bool success, const SkBitmap& bitmap)
	static unsigned int num = 100;
    char png_file_name[50] = { 0 };
    sprintf(png_file_name, "/sdcard/screen_shot_%d.png", num++);
    bool result = SkImageEncoder::EncodeFile(png_file_name, bitmap,
       SkImageEncoder::kPNG_Type,80);
    LOG(ERROR)<<"png_file_name="<<png_file_name;
    if(result) return true;
	else return false;
}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值