Rub*_*uby 9 android zoom scale android-canvas
我已经实现了一个onDraw绘制一组矩形的long 方法.矩形太小,我希望它们看起来更大.但不幸的是我无法更改矩形坐标,因为它们存储在数据库中.那么有什么方法可以放大画布使用canvas.scale()?
Mic*_*son 23
我将通过说你需要在0,0处绘制所有内容然后对其进行缩放,并最终将其转换为正常行为来作为前言.
只需在onDraw方法中执行以下操作:
canvas.save();
canvas.translate(xValue, yValue);
canvas.scale(xScale, yScale)
/* draw whatever you want scaled at 0,0*/
canvas.restore();
Run Code Online (Sandbox Code Playgroud)
xScale在X方向上收缩或拉伸,yScale在Y方向上收缩或拉伸.
1.0是这些的默认值,所以2.0会将它拉伸一倍,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();
Run Code Online (Sandbox Code Playgroud)
这将绘制一个长度为5.0的矩形,宽度为5.0,将长度和宽度缩小为2.5,然后将其移动到(50,50).
结果将是一个绘制的矩形,就像你这样做:
canvas.drawRect(50.0, 50.0, 52.5, 52.5, paint);
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
19315 次 |
| 最近记录: |