-1

我正在尝试在我的应用程序中画线。完成后,我想将屏幕另存为图像。但我不希望按钮出现在图像中。我想裁剪它然后保存它。我尝试使用此代码在 onclicklistener 中裁剪我的位图。但它没有用。Bitmap.createBitmap(位图, 5, 5, 5, 5); 这是我的所有代码:

    content.setDrawingCacheEnabled(true); 
    content.buildDrawingCache(); 
    Bitmap bitmap = Bitmap.createBitmap(content.getDrawingCache()); // Bitmap
    Bitmap.createBitmap(bitmap, 5, 5, 5, 5);
    content.setDrawingCacheEnabled(false);

    File file = new File("/sdcard/SurucuImza.jpg");
    FileOutputStream ostream = null;



    try {
        if (bitmap != null) {
            file.createNewFile();
            ostream = new FileOutputStream(file);
            bitmap.compress(CompressFormat.JPEG, 100, ostream); 
            ostream.flush();
            ostream.close();
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    bitmap.recycle();
    bitmap = null;
    ostream = null;
    content.setDrawingCacheEnabled(false);

}
4

2 回答 2

1

您应该将此行的结果分配给一个变量:

Bitmap.createBitmap(bitmap, 5, 5, 5, 5);

//Ex:
Bitmap croppedBitmap = Bitmap.createBitmap(bitmap, 5, 5, 5, 5);

然后保存croppedBitmap而不是bitmap.

还有一件事,你确定你的按钮是 5x5 像素吗?的最后两个参数createBitmap()指定widthheight

于 2012-08-15T12:35:06.867 回答
0

由于 Android 屏幕大小和密度的大小可变,我建议您不要使用content,但在您的 XML 布局中,您有一个ViewGroup“可打印”的区域和带有按钮的其他区域(在视图组之外)。

这样您就必须执行相同的操作,但viewGroup使用content

于 2012-08-15T12:56:59.697 回答