android 缩放画布,在Android上保持画布比例和缩放比例

博主在尝试让Canvas在Android设备旋转后保持比例和缩放时遇到问题。他们覆盖了onSizeChanged方法,尝试使用Bitmap.createScaledBitmap进行调整,但重绘并未按预期工作。问题集中在如何在屏幕方向改变后适当地调整和重绘Canvas以匹配新的屏幕尺寸。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我创建了CanvasView对象,扩展了View类,并且在应用程序的清单中覆盖了configChanged,正如您所看到的,Canvas不会再次正确重绘。在Android上保持画布比例和缩放比例

肖像:

f1222a92320eab92df9a4bba971bc255.png

景观

b12bca6303670c564e689f8b8dae6328.png

它看起来就像转动不影响Canvas对象。

我试过无效并重新绘制,但它似乎没有任何区别。

@Override

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

super.onSizeChanged(w, h, oldw, oldh);

if(canvasBitmap == null){

canvasBitmap = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);

}else{

Bitmap temporary = Bitmap.createScaledBitmap(canvasBitmap, w, h, true);

canvasBitmap = temporary;

}

mCanvas = new Canvas(canvasBitmap);

draw(mCanvas);

invalidate();

}

我该如何保持画布比例和缩放比例来显示它适合旋转后的新大小?

2015-11-01

Gil

+0

其实很好的问题,我正在追踪 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值