您的位置:首页 > 其它

CirleDrawImage圆角图片

2015-02-27 14:02 260 查看
/**
 * 
 */
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));
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: