代码之家  ›  专栏  ›  技术社区  ›  hard coder

如何在图像上绘制封装边框?

  •  0
  • hard coder  · 技术社区  · 6 年前

    我已经重写了要在其上绘制边框的图像绘制方法 AppCompatImageView .

    对于某些图像,它工作良好,但对于某些图像,它在图像的上方和下方有一些空白,如下图所示。我想在图像尺寸上精确地画出边框。

    enter image description here

    下面是代码

    private static final int PADDING = 8;
        private static final float STROKE_WIDTH = 8.0f;
    
        private Paint mBorderPaint;
    
       private void initBorderPaint() {
            mBorderPaint = new Paint();
            mBorderPaint.setAntiAlias(true);
            mBorderPaint.setStyle(Paint.Style.STROKE);
            mBorderPaint.setColor(Color.WHITE);
            mBorderPaint.setStrokeWidth(STROKE_WIDTH);
        }
    
    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawRect(PADDING, PADDING, getWidth() - PADDING, getHeight() - PADDING, mBorderPaint);
    }
    
    0 回复  |  直到 6 年前