如何从大于屏幕的视图的屏幕快照中创建位图?

时间:2019-04-10 16:47:14

标签: java android bitmap

我正在尝试创建一个位图,该位图采用视图的“屏幕快照”,但是它大于屏幕尺寸,我需要一个1500px x 2115px的位图才能将其转换为pdf,但是在手机上也是大。

这是我的代码,如果我在平板电脑上使用它,而不是在手机上使用它,则可以使用:

public void layoutToImage(View view, String imageName) {
    view.setDrawingCacheEnabled(true);
    view.measure(View.MeasureSpec.makeMeasureSpec(1500, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(2115, View.MeasureSpec.EXACTLY));

    view.layout(0, 0, 1500, 2115);

    view.buildDrawingCache(false);

    Bitmap bm = view.getDrawingCache();
    Intent share = new Intent(Intent.ACTION_SEND);
    share.setType("image/jpeg");
    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
    bm.compress(Bitmap.CompressFormat.JPEG, 100, bytes);

    File mFileImg = new File(Environment.getExternalStorageDirectory() + File.separator + imageName);
    try {
        mFileImg.createNewFile();
        FileOutputStream fo = new FileOutputStream(mFileImg);
        fo.write(bytes.toByteArray());
    } catch (IOException e) {
        e.printStackTrace();
    }

}

在平板电脑上可以达到与手机上相同的结果吗?任何解决方案或建议都会有所帮助, 谢谢。

0 个答案:

没有答案