0

簡単な作業です。透明な部分を持つ全体像があります。BitmapRegionDecoderメソッドdecodeRegionを使用して、長方形の部分をビットマップとしてデコードしたいと考えています。画像の不透明部分はうまくデコードされますが、透明部分の代わりにがらくたが表示されます。おなじみの何かに直面した人はいますか?私が使用するコード:

// colNumber, rowNumber are some proper integers from 0 to 4
InputStream is = playingTable.getResources().openRawResource(R.drawable.picture);
        try {
            BitmapRegionDecoder decoder = BitmapRegionDecoder.newInstance(is, false);
            int cellWidth = decoder.getWidth() / 5;
            int cellHeight = decoder.getHeight() / 5;
            Rect rect = new Rect(colNumber * cellWidth, rowNumber * cellHeight, (colNumber + 1) * cellWidth, (rowNumber + 1) * cellHeight);
            bmp = decoder.decodeRegion(rect, null);
            is.close();
        } catch (IOException e) {
            Log.i("Exception: ", e.toString());
        }

// in draw method:
        canvas.drawBitmap(bmp, x, y, null);
4

1 に答える 1

0

描画には Paint オブジェクトを使用します。これはアルファ チャネルに対応しています。ネストされたループでピクセルごとに画像を実行する必要がある場合があります。

Android デベロッパー - ペイント

于 2014-12-01T07:00:35.273 に答える