gpt4 book ai didi

Android:如何使用 Canvas /绘制位图缩放位图以适合屏幕大小?

转载 作者:行者123 更新时间:2023-11-29 02:25:53 27 4
gpt4 key购买 nike

我正在拍摄图像并使用 Canvas 将其绘制到屏幕上。我想根据屏幕尺寸缩放它。

这是我尝试过的方法,但是它切断了大部分图像:

DisplayMetrics metrics = context.getResources().getDisplayMetrics();
int width = metrics.widthPixels;
int height = metrics.heightPixels;

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),R.drawable.myimage);
bitmap = Bitmap.createScaledBitmap(bitmap, width, height, false);

Rect frameToDraw = new Rect(0, 0, width, height);
RectF whereToDraw = new RectF(0, 0, width, height);

canvas.drawBitmap(bitmap,frameToDraw,whereToDraw, paint);

我知道我做错了几件事,但我不确定是什么。此代码导致图像超出屏幕大小。我希望它被缩放到屏幕的大小。我也会在其中绘制较小的图像,因此我还需要根据屏幕大小缩放,但不是全屏。

最佳答案

Rect frameToDraw = new Rect(0, 0, width, height);
RectF whereToDraw = new RectF(0, 0, width, height);

看看上面的代码。你没有缩放图片。您只需截取图片的一部分(在本例中为整张图片)并将其粘贴到某处(在本例中为原始图片的大小)。

frameToDraw 矩形的宽度和高度应为图片的宽度和高度。

关于Android:如何使用 Canvas /绘制位图缩放位图以适合屏幕大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52237374/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com