2

Androidのスクリーンキャプチャに問題があります。キャプチャされた画像は透明ですが、元の画像は透明ではないソリッドJPEGファイルです。OSのバージョンが異なる多くのデバイスでテストしましたが、すべての電話で問題が解決しません。これがスクリーンキャプチャと最終出力のコードです

コード:

final Bitmap rawBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
final Canvas canvas = new Canvas(rawBitmap);
rendererView.layout(0, 0, width, height);
rendererView.draw(canvas);
rawBitmap.compress(CompressFormat.PNG, 100, new FileOutputStream("/sdcard/test" + System.currentTimeMillis() + ".png"));

結果:

ここに画像の説明を入力してください

4

2 に答える 2

2

問題は解決しました。画像ソースをImageViewにロードするときに、BitmapFactoryオプションに間違った設定を使用しました。

コード(前後):

    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inDither = false;
    options.inPurgeable = true;
    options.inInputShareable = true;
    //options.inPreferredConfig = Config.ARGB_4444; //WRONG
    options.inPreferredConfig = Config.ARGB_8888; //CORRECT
    bitmap = BitmapFactory.decodeFile(result.filePath(), options);

みなさん、ありがとうございました。

于 2012-10-10T11:40:02.623 に答える
0

createBitmap()でBitmap.Config.RGB_565を試してみます

于 2012-10-09T15:57:47.223 に答える