把图片转换成圆形图片

调用:(bt是Bitmap)

head_portrait.setImageBitmap(ToRoundBitmap.toRoundBitmap(bt));

转换圆形的方法:

 1 package com.ghp.tools;
 2
 3 import android.graphics.Bitmap;
 4 import android.graphics.Canvas;
 5 import android.graphics.Color;
 6 import android.graphics.Paint;
 7 import android.graphics.PorterDuffXfermode;
 8 import android.graphics.Rect;
 9 import android.graphics.Bitmap.Config;
10
11 public class ToRoundBitmap {
12     /**
13      * 转成圆形图片
14      *
15      * @param bitmap
16      * @return
17      */
18     public static Bitmap toRoundBitmap(Bitmap bitmap) {
19         int width = bitmap.getWidth();
20         int height = bitmap.getHeight();
21
22         final int color = Color.parseColor("#00FF00");
23         // defaultWidth = width;
24         // defaultHeight = height;
25
26         float roundPx;
27         float left, top, right, bottom, dst_left, dst_top, dst_right, dst_bottom;
28         if (width <= height) { // 高大于宽
29             roundPx = width / 2;
30             left = 0;
31             top = 0;
32             right = width;
33             bottom = width;
34             height = width;
35             dst_left = 0;
36             dst_top = 0;
37             dst_right = width;
38             dst_bottom = width;
39         } else { // 宽大于高
40             roundPx = height / 2;
41             float clip = (width - height) / 2;
42             left = clip;
43             right = width - clip;
44             top = 0;
45             bottom = height;
46             width = height;
47             dst_left = 0;
48             dst_top = 0;
49             dst_right = height;
50             dst_bottom = height;
51         }
52
53         Bitmap output = Bitmap.createBitmap(width, height, Config.ARGB_8888);
54         Canvas canvas = new Canvas(output);
55
56         final Paint paint = new Paint();
57         paint.setAntiAlias(true);// 设置画笔无锯齿
58
59         final Rect src = new Rect((int) left, (int) top, (int) right,
60                 (int) bottom);
61         final Rect dst = new Rect((int) dst_left, (int) dst_top,
62                 (int) dst_right, (int) dst_bottom);
63         canvas.drawARGB(0, 0, 0, 0); // 填充整个Canvas
64         paint.setColor(color);
65         paint.setDither(true);
66
67         canvas.drawCircle(roundPx, roundPx, roundPx, paint);// 画圆
68         paint.setXfermode(new PorterDuffXfermode(
69                 android.graphics.PorterDuff.Mode.SRC_IN));
70         canvas.drawBitmap(bitmap, src, dst, paint); // 以Mode.SRC_IN模式合并bitmap和已经draw了的Circle
71
72         return output;
73     }
74 }
时间: 2024-11-08 04:16:07

把图片转换成圆形图片的相关文章

如何将方形图片磨成圆形图片

如何将方形图片磨成圆形图片 在开发中经常会有一些需求,比如显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其他的一些形状.但是往往我们手上的图片或者从服务器 获取到的图片都是方形的.这时候就需要我们自己进行处理,将图片处理成所需要的形状. 使用Xfermode 两图相交方式 通过查找资料通过查找资料发现android中可以设置画笔的Xfermode即相交模式,从而设置两张图相交之后的显示方式,具体模式见下图,源码可以去android apidemo.(SRC 为我们要画到目标图上的图即

android 将图片转换成黑白图片

先调用android的系统工具,获取图片生成bitmap文件,再使用android中的二值化技术,将图片转化成黑白图片,主界面代码: package com.example.blackwhite; import java.io.IOException; import android.media.ThumbnailUtils; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore;

ios 将矩形图片裁剪成圆形图片

在ios中将一个正方形的图片裁剪成圆形的图片是一件非常容易的事情, 直接设置 imageView.layer.cornerRadius 这个属性, 再设置 imageView.clipsToBounds = YES 就可以了, 但是对于长方形的图片来说这个方式裁剪出来的就不是一个圆形的了, 而是个椭圆的. 解决这个问题就需要自己画 并且需要计算. 最终效果图如下: tips: 如果是裁剪矩形的话, 是从图片中心的位置为圆心剪裁的. 代码如下: @implementation UIImage (C

iOS给一张矩形图片剪切成圆形图片

随着APP发展,个人账户的注册和登陆,都有头像的设置,圆形头像也越来越多,此方法正是对剪切圆头像的封装. //****************************************************************************************************************// //******************************************************************************

Xcode9学习笔记51 - 将一张普通的图片转换成灰度图片CGColorSpaceCreateDeviceGray

override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let image = UIImage(named: "img01")//从项目资源中读取一张图片 let grayedImage = self.grayImage(image: image!)//调用灰度图转换方法,将图片转换成灰度图 let

CAD图转换成JPG图片怎么样操作

CAD图纸文件在各个行业基本都是会使用到的因为CAD图纸文件的查看需要借助于专业的软件进行查看,因此为了方便顾客进行查看,我们通过会将CAD图转换成JPG图片,这样就可以直接使用JPG图片查看图纸文件了.那么应该使用什么软件,才能够快速的将CAD图转换成JPG图片?怎么把CAD图转换成JPG图片? 一.什么软件可以将CAD图转换成JPG图片 想要将CAD图转换成JPG图片,那么使用这款迅捷CAD转JPG转换器(http://www.jb51.net/softs/560470.html)就可以轻松

照片转成pdf 如何把jpg图片转换成pdf格式

大家不知道还记不记得,那句台词"好男人就是我,我就是xxx"曾小贤.没错就是他<爱情公寓>毫无疑问近几年比较有特点的喜剧了,而且每个人都在盼望着第五季.尤其是到第四部结尾的时候,大家都希望曾小贤能和一菲在一起,在这时候它结束了,我们都幻想着爱情公寓第五季,可是迟迟没有音信.大家依然还记得子乔的小姨妈.楼下的小黑.婉瑜.展博. 这群年轻人跟现实生活中的我们一样,过着合租群租的生活,我们没有他们那么多的欢声笑语,可能这就是电视剧和现实差距,当我们最爱的几位主演都有了自己新的工作

怎么把图片转换成pdf jpg转pdf案例

图片有各种格式,jpg.gif.png都是我们常见的,当我们想要把图片转换成pdf时,首先要注意这些文件的格式,考虑使用的方法是否可以兼容这些图片的格式,然后再查看此种方法的图片转成pdf的效果.那么,怎么把图片转换成pdf才能保证图片内容的整洁与清晰呢?想要达到这一点,其实并不是很难! 在执行图片转换成pdf操作前,我们要在电脑上下载安装好迅捷pdf转换器,然后还需要我们将要转换的图片放在同一个文件夹中,并将文件夹放在我们可以找到的位置.      第1步:在电脑桌面上用鼠标双击软件图标打开软

OprenCV学习之路一:将彩色图片转换成灰度图

//将一张彩色图片转成灰度图: //////////////////////////// #include<cv.h> #include<cvaux.h> #include<highgui.h> #include<ml.h> #include<iostream> using namespace std; using namespace cv; int main() { IplImage *src=0; src=cvLoadImage("