300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android imageview 锯齿 android – 如何在启用消除锯齿的情况下旋转drawable

android imageview 锯齿 android – 如何在启用消除锯齿的情况下旋转drawable

时间:2023-08-04 01:14:42

相关推荐

android imageview 锯齿 android – 如何在启用消除锯齿的情况下旋转drawable

如果您知道Drawable是BitmapDrawable,则可以在位图的Paint中使用消除锯齿来执行以下操作:

/**

* Not as full featured as ImageView.onDraw(). Does not handle

* drawables other than BitmapDrawable, crop to padding, or other adjustments.

*/

@Override

protected void onDraw(Canvas canvas) {

final Drawable d = getDrawable();

if( d!=null && d instanceof BitmapDrawable && ((BitmapDrawable)d).getBitmap()!=null ) {

final Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);

final int paddingLeft = getPaddingLeft();

final int paddingTop = getPaddingTop();

canvas.save();

// do my rotation and other adjustments

canvas.scale(0.92f,0.92f);

canvas.rotate(1,0,0);

if( paddingLeft!=0 )

canvas.translate(paddingLeft,0);

if( paddingTop!=0 )

canvas.translate(0,paddingTop);

canvas.drawBitmap( ((BitmapDrawable)d).getBitmap(),0,0,p );

canvas.restore();

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。