gpt4 book ai didi

Android 圆位图中心标签不正确居中

转载 作者:行者123 更新时间:2023-11-29 20:25:18 26 4
gpt4 key购买 nike

我有一个方形位图 (200*200)。这个位图有一个背景颜色(黄色)和一个字母在它的中心(想象一个 A)。从该位图中,我想创建一个带有黑色边框的圆形位图。这个边框是 4 个像素,所以我假装的最终图像是一个 220*220 的位图,中心有一个半径为 100 的圆,边框为 4。如果我看这个位图,我会看到一个圆角圆中间有黑色边框,两侧有一些透明像素 (16)。

我这样做:

float scaleWidth = ((float) destWidth) / width;
float scaleHeight = ((float) destHeight) / height;

float scale = Math.max(scaleWidth, scaleHeight);

Matrix matrix = new Matrix();
matrix.postScale(scale, scale);

Bitmap roundBitmap = Bitmap.createBitmap(destWidth + 20, destHeight + 20, Bitmap.Config.ARGB_8888) // This creates a square bitmap of 220*220

BitmapShader shader = new BitmapShader(bitmap, TileMode.CLAMP, TileMode.CLAMP); // The original size of bitmap is 200*200
shader.setLocalMatrix(matrix);

Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setShader(shader);

Canvas canvas = new Canvas(roundBitmap);
canvas.drawCircle((destWidth + 20) / 2, (destHeight + 20) / 2, destWidth / 2, paint)

图像是这样创建的:

enter image description here

如何让字母 A 居中?

在左边我得到了原始图像(位图),在左边(roundBitmap)我得到了我想要的,除了居中的标签:

enter image description here

最佳答案

因为你的图片大小一直都是一样的,所以你应该修改你的代码如下

scaleWidth = (((float) destWidth)+20) / width; float scaleHeight = (((float) destHeight)+20) / height;

关于Android 圆位图中心标签不正确居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32628279/

26 4 0