プログラムで通常の長方形の画像を円形の画像に変換したいが、 xml を使用しない場合は、このリンク Navigation Drawer (Google+ vs. YouTube)を参照してください。これまでのところ、このリンクをたどりました 循環イメージビューでビットマップを設定するには? 、しかし、画像にくまをペイントするようになりました。私は何をすべきか?
1566 次
2 に答える
0
public Bitmap dstBmp;
Bitmap getRoundedBitmapnow(Bitmap bitmap)
{
// convert rectangle to square
if (bitmap.getWidth() >= bitmap.getHeight()){
dstBmp = Bitmap.createBitmap(
bitmap,
bitmap.getWidth()/2 - bitmap.getHeight()/2,
0,
bitmap.getHeight(),
bitmap.getHeight()
);
}else{
dstBmp = Bitmap.createBitmap(
bitmap,
0,
bitmap.getHeight()/2 - bitmap.getWidth()/2,
bitmap.getWidth(),
bitmap.getWidth()
);
}
// create circle
Bitmap output = Bitmap.createBitmap(dstBmp.getWidth(),
dstBmp.getHeight(), Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect rect1 = new Rect(0, 0, dstBmp.getWidth(), dstBmp.getHeight());
final RectF rectF1 = new RectF(rect1);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawOval(rectF1, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(dstBmp, rect1, rect1, paint);
return output;
}
于 2013-08-20T17:24:11.587 に答える