onDraw長方形のセットを描画するlong メソッドを実装しました。四角形が小さすぎるので、大きく表示したいです。残念ながら、四角形の座標はデータベースに保存されているため、変更できません。を使用してキャンバスをズームインする方法はありますcanvas.scale()か?
			
			23556 次
		
1 に答える
            27        
        
		
この回答の前に、すべてを 0,0 で描画してからスケーリングし、最後に正しく動作するように変換する必要があると述べます。
onDraw メソッドで次の操作を行うだけです。
canvas.save();
    canvas.translate(xValue, yValue);
    canvas.scale(xScale, yScale)
    /* draw whatever you want scaled at 0,0*/
canvas.restore();
xScale は X 方向に収縮または伸長し、yScale は Y 方向に収縮または伸長します。
これらのデフォルトは 1.0 であるため、2.0 では 2 倍に引き伸ばされ、0.5 では半分に縮小されます。
例:
canvas.save();
    canvas.translate(50, 50);
    canvas.scale(0.5f, 0.5f);
    canvas.drawRect(0.0, 0.0, 5.0, 5.0, paint);
canvas.restore();
これは、長さ 5.0、幅 5.0 の長方形を描画し、長さと幅を 2.5 に縮小してから (50, 50) に移動します。
結果は、次のように描画された長方形になります。
canvas.drawRect(50.0, 50.0, 52.5, 52.5, paint);
これが役立つことを願っています!
于 2012-11-13T18:20:08.280   に答える