簡體   English   中英

如何在Canvas Android中縮放位圖

[英]How scale bitmap in Canvas android

我想使用Canvas在SurfaceView中顯示圖像(位圖)。 我的要求是畫布的大小要大於圖像。在Canvas中,圖像的每一側都需要空間(例如:10 dp)。 我該如何擴展?

謝謝Mikahail

您可以繪制所需的Canvas大小的矩形,然后使用參數(11,11)繪制圖像,這將使它從每個尺寸的角開始繪制10px。

將此方法放在SurfaceView類中:D

 public void draw(Canvas canvas) {
    final float scaleFactoryX = getWidth() / (WIDTH * 1.f);
    final float scaleFactoryY = getHeight() / (HEIGHT * 1.f);
    if (canvas != null) {
        final int savedState = canvas.save();
        canvas.scale(scaleFactoryX, scaleFactoryY);

        canvas.restoreToCount(savedState);
    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM