0

私は画像を持っていて、この画像のサイズを変更したいので、マトリックスを使用してそれを実現しますが、このサイズ変更されたビットマップをキャンバスに描画すると、ここに私のコードがあります...私が描画する四角形はよりも小さいことが最終的にわかりましたサイズ変更されたビットマップがキャンバスに描画されます。理由はわかりません:(

    Matrix m=new Matrix();
    m.setScale(ratio,ratio);
    m.postRotate(Angle,bitmap.getWidth()/2,bitmap.getHeight()/2);
    newbitmap=Bitmap.createBitmap(bitmap, 0, 0,bitmap.getWidth(), bitmap.getHeight(), m,true);
    canvas.drawBitmap(newbitmap,0,0, null);
    canvas.drawRect(0,0,newbitmap.getWidth(),newbitmap.getHeight(), paint);
4

1 に答える 1

0

したがって、作成したビットマップをキャンバスに描画するときに、同じ高さと幅を使用してみてください。正しくなる場合もあります。このコードが役立つ場合があります。

Bitmap Rbitmap = Bitmap.createBitmap(bitmap).copy(
                Config.ARGB_4444, true);


        Canvas canvas = new Canvas(Rbitmap);

        canvas.drawBitmap(label, -9, Rbitmap.getHeight()-label.getHeight()-10, null);
        canvas.save();
于 2012-04-28T03:49:16.177 に答える