我有这个功能,有了这个功能,我可以用一点旋转来显示图像。 我正试图在位图周围显示一个白色边框。
Matrix m = new Matrix();
m.postRotate( rotation, center.x, center.y );
m.postTranslate( ( position.x - center.x ) - xOffset , position.y - ( center.x ) );
// set the current position to the updated position
positionMatrix.set( m );
renderAnimation();
c.drawBitmap( this.bitmap , positionMatrix, paint );
我正在尝试使用此功能添加白色边框:参考:stackoverflow border
RectF targetRect = new RectF(left+10, top+10, left + scaledWidth, top + scaledHeight);
Bitmap dest = Bitmap.createBitmap(this.bitmap.getWith() +20, this.bitmap.getHeight() +20, this.bitmap.getConfig());
Canvas canvas = new Canvas(dest);
canvas.drawColor(Color.WHITE);
canvas.drawBitmap(this.bitmap, null, targetRect, null);
c.drawBitmap( this.bitmap , positionMatrix, paint );
但是,不行,有些人可以帮助我
答案 0 :(得分:3)
我认为您应该按照以下步骤操作:
也许你在计算方面时犯了一个错误,或者画错了顺序。记得在绘图时使用相同的画布。在你的代码中我看到你使用c.draw和canvas.draw ...这可能会导致问题。
请参阅以下代码:
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setStrokeWidth(3);
canvas.drawRect(0, 0, 200, 200, paint);//draw your bg
canvas.drawBitmap(bitmap, 20, 20, paint);//draw your image on bg
抱歉,我没有太多时间检查您的计算尺寸。我希望这可以提供帮助。