Android學習筆記之詳細講解畫圓角圖片
阿新 • • 發佈:2018-11-16
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow
也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!
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; }}