Android學習筆記之詳細講解畫圓角圖片

package xiaosi.RoundConcer;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.Bitmap.Config;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.PorterDuff.Mode;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.os.Bundle;
import android.widget.ImageView;
public class RoundConcerActivity extends Activity
{
/** Called when the activity is first created. */
private ImageView roundImage = null;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
roundImage = (ImageView)findViewById(R.id.roundconcer);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.a);
roundImage.setImageBitmap(getRoundCornerImage(bitmap, 50));
}
public static Bitmap getRoundCornerImage(Bitmap bitmap, int roundPixels)
{
//創建一個和原始圖片一樣大小位圖
Bitmap roundConcerImage = Bitmap.createBitmap(bitmap.getWidth(),
bitmap.getHeight(), Config.ARGB_8888);
//創建帶有位圖roundConcerImage的畫布
Canvas canvas = new Canvas(roundConcerImage);
//創建畫筆
Paint paint = new Paint();
//創建一個和原始圖片一樣大小的矩形
Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
RectF rectF = new RectF(rect);
// 去鋸齒
paint.setAntiAlias(true);
//畫一個和原始圖片一樣大小的圓角矩形
canvas.drawRoundRect(rectF, roundPixels, roundPixels, paint);
//設置相交模式
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
//把圖片畫到矩形去
canvas.drawBitmap(bitmap, null, rect, paint);
return roundConcerImage;
}
} 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!