gpt4 book ai didi

android - 如何为 ImageView 设置边框

转载 作者:太空宇宙 更新时间:2023-11-03 13:32:45 26 4
gpt4 key购买 nike

enter image description here

我在 android 应用程序中工作,我想将 ImageView 放在我 View 中的特定位置。为此,我应用了特定代码并成功运行:

ImageView image = (ImageView) findViewById(R.id.imageView1);
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.mrng);
Matrix mat = new Matrix();
mat.postRotate(350);
Bitmap bMapRotate = Bitmap.createBitmap(bMap, 0, 0, bMap.getWidth(),bMap.getHeight(), mat, true);
image.setImageBitmap(bMapRotate);

现在我想给这张图片设置边框。为此,我制作了一个形状 xml,并将其设置为 ImageView 的背景。

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke android:width="3dp" android:color="#000000" />
</shape>

但是当我给 ImageView 的背景赋予形状时,它没有给出正确的输出。请帮助我。

我不想要 ImageView 周围的边框,而是旋转图像周围的边框。

最佳答案

编辑:我正在根据对问题的澄清完全重写我的答案。这就是我如何实现你想要的。思路是画框然后旋转:

    ImageView image = (ImageView) findViewById(R.id.TestImage);
Bitmap bMap = BitmapFactory.decodeResource(getResources(), R.drawable.image);

final int BORDER_WIDTH = 3;
final int BORDER_COLOR = Color.BLACK;
Bitmap res = Bitmap.createBitmap(bMap.getWidth() + 2 * BORDER_WIDTH,
bMap.getHeight() + 2 * BORDER_WIDTH,
bMap.getConfig());
Canvas c = new Canvas(res);
Paint p = new Paint();
p.setColor(BORDER_COLOR);
c.drawRect(0, 0, res.getWidth(), res.getHeight(), p);
p = new Paint(Paint.FILTER_BITMAP_FLAG);
c.drawBitmap(bMap, BORDER_WIDTH, BORDER_WIDTH, p);

Matrix mat = new Matrix();
mat.postRotate(350);
Bitmap bMapRotate = Bitmap.createBitmap(res, 0, 0, res.getWidth(), res.getHeight(), mat, true);
image.setImageBitmap(bMapRotate);

结果截图如下:

enter image description here

关于android - 如何为 ImageView 设置边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10975710/

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