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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!