效果图:

参看以下代码:

public class MainActivity extends Activity {private ImageView imageView1;private ImageView imageView2;Bitmap mBitmap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.image);initView();}private void initView(){imageView1=(ImageView)findViewById(R.id.imageView1);imageView2=(ImageView)findViewById(R.id.imageView2);//读取资源图片mBitmap=readBitMap();//对资源图片进行缩放Bitmap bitmap=zoomBitmap(mBitmap, mBitmap.getWidth()/2, mBitmap.getHeight()/2);//设置圆角图片imageView2.setImageBitmap(setRoundedCorner(bitmap,20f));}/*** 读取资源图片* @return */private Bitmap readBitMap(){BitmapFactory.Options opt=new BitmapFactory.Options();/** 设置让解码器以最佳方式解码*/opt.inPreferredConfig=Bitmap.Config.RGB_565;//下面两个字段需要组合使用opt.inPurgeable=true;opt.inInputShareable=true;/** 获取资源图片*/InputStream is=this.getResources().openRawResource(R.drawable.mei);return BitmapFactory.decodeStream(is, null, opt);}/*** 缩放图片* @param bitmap* @param w* @param h* @return*/public  Bitmap zoomBitmap(Bitmap bitmap, int w, int h) {int width = bitmap.getWidth();int height = bitmap.getHeight();Matrix matrix = new Matrix();float scaleWidht = ((float) w / width);float scaleHeight = ((float) h / height);/** 通过Matrix类的postScale方法进行缩放*/matrix.postScale(scaleWidht, scaleHeight);Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);return newbmp;}/*** 设置图片为圆角* @param bitmap* @param roundPx  圆角角度* @return*/public  Bitmap setRoundedCorner(Bitmap bitmap, float roundPx) {Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);Canvas canvas = new Canvas(output);final Paint paint = new Paint();final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());/** 椭圆形*/final RectF rectF = new RectF(rect);/** 去锯齿*/paint.setAntiAlias(true);canvas.drawARGB(0, 0, 0, 0);/** 绘制圆角矩形*/canvas.drawRoundRect(rectF, roundPx, roundPx, paint);/** 设置两个图形相交*/paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));canvas.drawBitmap(bitmap, rect, rect, paint);return output;}}

转载请注明出处:http://blog.csdn.net/hai_qing_xu_kong/article/details/44314043 情绪控_

Android之设置资源图片为圆角图片相关推荐

  1. android bitmap 描边,Android如何实现带描边的圆角图片

    Android如何实现带描边的圆角图片 发布时间:2021-04-16 13:53:03 来源:亿速云 阅读:99 作者:小新 这篇文章给大家分享的是有关Android如何实现带描边的圆角图片的内容. ...

  2. Android Glide加载圆形图片、圆角图片,部分圆角图片的使用方法

    Android Glide加载圆形图片.圆角图片,部分圆角图片的使用方法 前言 Gilde圆形图片/头像 Gilde普通圆角图片即四个角都是圆角 Gilde对指定角设置圆角 前言 通过本文,您可以实现 ...

  3. 微信小程序 canvas type = 2d 绘制海报心得(包括怎么绘制图片和圆角图片和圆角矩形等)

    微信小程序 canvas type=2d 使用心得 为了方便这里我封装成了一个component 然后说说怎么使用最新的方法(使用方法类似于html中的canvas可以进行参考)获取--canvas ...

  4. Android BitmapShader 实战 实现圆形、圆角图片

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41967509,本文出自:[张鸿洋的博客] 1.概述 记得初学那会写过一篇博客An ...

  5. Picasso加载圆形图片和圆角图片

    (1)加载圆形图片 https://gist.github.com/julianshen/5829333 改进版支持Palltte https://gist.github.com/dtygel/71b ...

  6. 如何用ps(photoshop)把四角图片变成圆角图片?超级简单!

    如何把一张四角的图片变成圆角的图片呢? 估计是很多朋友比较关心的问题,今天工作原因,遇到了这个问题,终于让我找到了解决方案,其实只需3步就可以了,下面分享给需要的朋友: 步骤一: 用PS打开一张图片, ...

  7. android如何设置自适应大小的背景图片,Android – 设置壁纸以适应手机屏幕尺寸...

    作者的回答在评论中, 但是没有人看到评论,我在这里复制: Bitmap bmap2 = BitmapFactory.decodeStream(getResources().openRawResourc ...

  8. Android开发设置button形状之圆角、椭圆、矩形

    button的形状描述文件drawable/shape.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  9. Android实现圆形圆角图片

    本文主要使用两种方法实现图形圆角图片 自定View加上使用Xfermode实现 Shader实现 自定View加上使用Xfermode实现 /** * 根据原图和变长绘制圆形图片 * * @param ...

最新文章

  1. JQUERY打造隐藏在左侧的弹性弹出菜单
  2. cron表达式 每天0点10分和30分_“提前2小时下班”:学会这10个函数,办公效率提升了10倍!...
  3. OI群论:从入门到自闭
  4. t-sql中的事务控制及错误处理
  5. JAVA实现美团电影价格抓取(附代码)
  6. 关于DNF的多媒体包NPK文件的那些事儿(2)
  7. 高斯克吕格投影中有关带号与经度的关系
  8. win8计算机图标快捷键,Win8电脑关机快捷键图标设置方法
  9. php 两张图片 合并 扣,php图片合成方法(多张图片合成一张)
  10. powershell下使用linux命令,Windows 10系统下PowerShell命令使用技巧
  11. 两款程序员的好帮手——BitNami,Hoo WinTail
  12. C语言:数组排序(插入法排序)
  13. Win10升级后C盘莫名其妙满了怎么办
  14. 图片清晰度,分辨率,像素总结
  15. java实现邮箱注册验证
  16. 【每天一个Python小知识】用yaml的yaml.safe_load()方法读取配置文件中的参数
  17. 2021-2027全球与中国太阳能EVA板市场现状及未来发展趋势
  18. [vue] 11. pixiJS整合vue初体验
  19. ROS自学实践(11):利用map_server功能包创建自己的地图
  20. win7更新错误0x800b0109_Windows 7:更新KB890830(MRST)删除错误0x800B0109

热门文章

  1. mac 4k分辨率 字太小 27寸 hidpi_4K,就在眼前!视网膜级桌面显示器AOC U2790PQU评测报告...
  2. 远哥谈 使用WebSocket开发在线实时看远程服务器log日志的工具
  3. NUC1429 WERTYU【输入输出】
  4. bash编程-循环控制的结构
  5. 自学篇之--js 提取复选框和单选框的值 和纯css的3D按钮
  6. 第拾壹章學習 Lisp 3rd Edition, Winston Horn
  7. 【原创·教程·连载】Microsoft SQL Server 2008 Reporting Services应用系列(一)安装篇...
  8. grpc使用记录(一) gRPC编译(mscv/gcc)
  9. 好程序员Java教程分享JavaScript面试问题及答案(一)
  10. TCP连接的建立和终止