绘制的描边矩形中线宽不均匀

问题描述 投票:0回答:2

我需要绘制带圆角的描边矩形。 这是我的代码:

mLinePaint = new Paint();
mLinePaint.setColor(mDotColorTouched);
mLinePaint.setAntiAlias(true);
mLinePaint.setStrokeWidth(mLineWidth);
mLinePaint.setStyle(Paint.Style.STROKE);
mLinePaint.setStrokeCap(Paint.Cap.ROUND);

    bitmap = Bitmap.createBitmap(300, 
300, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(bitmap);
    RectF r = new RectF(0, 0, 300 , 300);
    c.drawRoundRect(r, 30, 30, mLinePaint);

但正如你所看到的,角落里的线宽更大...... 知道为什么会发生这种情况以及如何解决这个问题吗?

这是屏幕

android android-canvas draw paint
2个回答
4
投票

尝试这组代码,它可以工作。

    Paint paint = new Paint();
    paint.setStyle(Paint.Style.STROKE);
    paint.setColor(Color.BLUE);
    paint.setStrokeWidth(10);

    Bitmap b = Bitmap.createBitmap(300, 300, Bitmap.Config.ARGB_8888);
    Canvas c = new Canvas(b);
    RectF rectF = new RectF();
    rectF.set(5,5,250,250);
    c.drawRoundRect(rectF, 10, 10, paint);

    imgView.setImageBitmap(b);


0
投票

除了使用位图增加尺寸然后绘制之外,我们还可以使用以下解决方案:ShapeDrawable 椭圆形(描边样式)的边缘被切割(Android Studio)

© www.soinside.com 2019 - 2024. All rights reserved.