转换图片成圆形--并且缩放 Bitmap、Java、Android 图片设计
来源:互联网 发布:苹果最新软件home 编辑:程序博客网 时间:2024/05/07 10:32
/**
* 转换图片成圆形--并且缩放
* @param bitmap 传入Bitmap对象
* @return
*/
public Bitmap toRoundBitmap(Bitmap bitmap,float scale) {
int width = bitmap.getWidth();
int height = bitmap.getHeight();
float roundPx;
float left,top,right,bottom,dst_left,dst_top,dst_right,dst_bottom;
if (width <= height) {
roundPx = width / 2;
top = 0;
bottom = width;
left = 0;
right = width;
height = width;
dst_left = 0;
dst_top = 0;
dst_right = width;
dst_bottom = width;
} else {
roundPx = height / 2;
float clip = (width - height) / 2;
left = clip;
right = width - clip;
top = 0;
bottom = height;
width = height;
dst_left = 0;
dst_top = 0;
dst_right = height;
dst_bottom = height;
}
Bitmap output = Bitmap.createBitmap(width,
height, Config.ARGB_8888);
Canvas canvas = new Canvas(output);
final int color = 0xff424242;
final Paint paint = new Paint();
final Rect src = new Rect((int)left, (int)top, (int)right, (int)bottom);
final Rect dst = new Rect((int)dst_left, (int)dst_top, (int)dst_right, (int)dst_bottom);
final RectF rectF = new RectF(dst);
paint.setAntiAlias(true);
canvas.drawARGB(0, 0, 0, 0);
paint.setColor(color);
canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
canvas.drawBitmap(bitmap, src, dst, paint);
//缩放功能
Matrix matrix=new Matrix();
matrix.postScale(scale, scale);
Bitmap temp = Bitmap.createBitmap(output,0,0,output.getWidth(),output.getHeight(),matrix,true);
return temp;//否则return output即可
}
- 转换图片成圆形--并且缩放 Bitmap、Java、Android 图片设计
- Android Bitmap转换以及图片的缩放
- android图片处理工具类 (图片缩放,圆角图片,转换成圆形,图片倒影,添加阴影)
- android Bitmap 读取缩放图片
- Android 将Bitmap转换成圆形图片的几个方法总结
- 转换图片成圆形
- Android实现图片转换成圆形
- Android中圆形图片转换
- Android本地图片转换成Bitmap存储
- android将图片转换为圆形图片
- Android中图片Bitmap的缩放
- Android bitmap 图片缩放,压缩处理
- Android中图片Bitmap的缩放
- Android中图片Bitmap的缩放
- Android中图片Bitmap的缩放
- Bitmap图片缩放处理
- Bitmap 图片缩放
- android绘制圆形图片、圆圈以及图片缩放
- ubuntu12.04编译安装libvirt-1.2.0
- Eclipse中javadoc的使用以及中文乱码的解决
- php接口
- 用vs2012查看Xml的行数
- window.open打开新窗口 参数
- 转换图片成圆形--并且缩放 Bitmap、Java、Android 图片设计
- FSMC控制寄存器
- 无厘头的错误
- elasticsearch配置详解
- hibernate--@OneToOne实例
- py2exe Tutorial
- Makefile 中:= ?= += =的区别
- Oracle常用知识小结
- 提高你的Java代码质量吧:推荐使用枚举定义常量