CirleDrawImage圓角圖片

/**
 * 
 */
package com.example.cirledrawimage;

import android.graphics.Bitmap;
import android.graphics.BitmapShader;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.Shader.TileMode;
import android.graphics.drawable.Drawable;

public class CirleDrawImage extends Drawable {
	
	private Paint mPaint;
	private int mWitdh;
	private  Bitmap  mBimap;
	
	
	public CirleDrawImage(Bitmap bitmap){
		this.mBimap=bitmap;
		BitmapShader bitmapShader=new BitmapShader(mBimap, TileMode.CLAMP, TileMode.CLAMP);
		mPaint=new Paint();
		mPaint.setAntiAlias(true);
		mPaint.setShader(bitmapShader);
		mWitdh=Math.min(mBimap.getWidth(), mBimap.getHeight());
	}
	

	@Override
	public void draw(Canvas canvas) {
		canvas.drawCircle(mWitdh/2, mWitdh/2,mWitdh/2, mPaint);
	}


	@Override
	public void setAlpha(int alpha) {
		mPaint.setAlpha(alpha);
	}


	@Override
	public void setColorFilter(ColorFilter cf) {
		mPaint.setColorFilter(cf);
	}

	@Override
	public int getOpacity() {
		return  PixelFormat.TRANSLUCENT;
	}
	
	@Override
	public int getIntrinsicHeight() {
		return mWitdh;
	}
	
	@Override
	public int getIntrinsicWidth() {
		return mWitdh;
	}

}


/**
 * 
 */
package com.example.cirledrawimage;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;


public class MainActivity extends Activity{

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		ImageView imageShow=(ImageView)findViewById(R.id.img_shows);
		Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.ss);
		imageShow.setImageDrawable(new CirleDrawImage(bitmap));
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章