绘制QQ圆形图像

思路:这里用到的是图像求交。现在画布上画上圆形,即所需要的圆形头像,然后设置paint的属性设置为求交集,再将bitmap划到canvas上面就好了。

代码如下:

 1     private static Bitmap getCircleBitmap(Bitmap bitmap) {
 2             int width = bitmap.getWidth();
 3             int height = bitmap.getHeight();
 4             int r = width > height ? height : width;
 5             Bitmap bmp = Bitmap.createBitmap(width, height, bitmap.getConfig());
 6             Canvas canvas = new Canvas(bmp);
 7             Paint paint = new Paint();
 8             paint.setAntiAlias(true);
 9             RectF rect = new RectF(0, 0, r, r);
10             canvas.drawRoundRect(rect, r / 2, r / 2, paint);
11             paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
12             canvas.drawBitmap(bitmap, null, rect, paint);
13             return bmp;
14         }
时间: 2024-08-04 01:41:54

绘制QQ圆形图像的相关文章

C# 绘制Mandelbrot集合图像

关于MandelbrotSet的定义,可以参考英文版维基百科条目 Mandelbrot Set 本程序是一个单窗体程序,里面只有一个PictureBox控件pcbMS,用于放置绘制好的图像 一.23次迭代的黑白版本 1)生成图像 2)程序源码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using Syst

用Matplotlib绘制二维图像

唠叨几句: 近期在做数据分析,需要对数据做可视化处理,也就是画图,一般是用Matlib来做,但Matlib安装文件太大,不太想直接用它,据说其代码运行效率也很低,在网上看到可以先用Java做数据处理,然后调用Matlib来画图,另外,还可以使用Matplotlib,它是用Python写的类似Matlib的库,能实现Matlib的功能,而且画图的质量很高,可用于做论文发表.找了一天的资料,终于出图了. Matplotlib需要配合numpy,scipy才能使用,具体安装步骤稍后补充. 正文: 用M

iOS 裁剪圆形图像并显示(类似于微信头像)

本文主要讲解如何从照片库选择一张照片后将其裁剪成圆形头像并显示,类似于微信头像那种模式. 本文的方法也适用于当时拍照获取的图像,方法类似,所以不再赘述. 本文主要是在iOS 10环境下使用,此时如果要使用使用系统照片库.照相机等功能需要授权,授权方法如下: 右键点击工程目录中的"Info.plist文件-->Open As -->Source Code",打开复制以下你在应用中使用的隐私权限设置(描述自己修改): <key>NSVideoSubscriberAc

【Qt】QLabel实现的圆形图像

本篇只描述圆形图像的两种实现方式,动态阴影边框如下: 目前实现的效果如下: 左右两边实现的方式不同: 右边比较简单 min-width: 100px; max-width: 100px; min-height: 100px; max-height: 100px; border-radius: 50px; border-width: 0 0 0 0; border-image: url(H:/Qt Project/UIDesignTest/Heben.jpg) 0 0 0 0 stretch st

Python绘制不同激活函数图像

1 """ 2 功能:Python绘制不同激活函数图像 3 姓名:侯俊龙 4 日期:2019/12/07 5 """ 6 7 import matplotlib.pyplot as plt 8 import numpy as np 9 10 x = np.linspace(-10,10) 11 # 绘制sigmoid图像 12 fig = plt.figure() 13 y_sigmoid = 1/(1+np.exp(-x)) 14 ax = f

opencv笔记(二十三)——寻找以及绘制一幅图像的轮廓

我们常常需要对一幅图像做轮廓的查找,尤其是在做物体的检测与识别的时候. 一般的步骤就是先使用canny方法来得到一幅图像的边缘情况.然后使用findContours方法来得到边缘图像的轮廓.最后使用drawContours方法来绘制轮廓. canny我们都很清楚它的使用方法了. 这里简单地说一下findContours和drawContours void findContours(InputOutputArray image, OutputArrayOfArrays contours, Outp

HTML5 绘制简单圆形 loading. . . .

现在有很多的 loading 组件 什么js 等等 闲来没事就写一个 H5的 loading  有很多的Loading 是一张张图片 js 控制的  有了 canvas的 出现 你就可以体验不同之处了 自己效仿前人的做法去看两种的效率 和占用的资源 chrome=>更多工具=>资源管理器  Canvas : 初期比图片占用大一点,能接受, 后面会降下来, 而且一直稳定.  图片+js: 初期效果满意 越到后面 资源占用越多 . <只是画圆 如果你想要图片,后文会给介绍> 我们都知道

使用matplotlib绘制3D函数图像

学习并尝试了利用matplotlib进行3D函数图像的绘制 1 import matplotlib.pyplot as plt # 绘图用的模块 2 from mpl_toolkits.mplot3d import Axes3D # 绘制3D坐标的函数 3 import numpy as np 4 5 6 def fun(x, y): 7 return np.power(x, 2) + np.power(y, 2) 8 9 10 fig1 = plt.figure() # 创建一个绘图对象 11

android圆形图像

在网上找了一下,最简单的是利用canvas的setXfermode,来控制图片重合部分的显示策略. 图片混合时,先画的是dst,后画的是src,各种混合的方式如下,其中圆形是dst,正方形是src: 不过网上的一些做法没有考虑到图片为长方形的情况,下面给出我修正后的做法: 这里我们采用srcin模式,先画透明的圆形即dst,再画原图即src,两个重叠的部分就是我们需要的圆形图了(dstin也可以,就是先画原图,再画透明的圆形). 就是先判断宽和高中最大max.最小min,只创建半径为min的透明