【原创】绘制圆形的Bitmap

本文介绍了一种在Android中将Bitmap转换为圆形的方法。通过获取原图的宽高,计算圆心和基准半径,创建正方形空白Bitmap,再进行位移和叠加绘制,实现了从原图到圆形Bitmap的转换。提供了一个ImageView的Override实现,方便直接使用。

最近发现很多应用都用圆形的Bitmap,心血来潮,lz也写了一个...技术不佳,写的很烂,请各位海涵。(源码在最底下提供下载)


原图:

效果图:


这里简单的说一下实现原理,lamer可以自然绕过...

实现原理:

          1.得到原图的宽高,计算出圆心,取图片的短边为基准半径。

          2.创建空白Bitmap,大小为基准半径的正方形。

          3.位移原图,使其中心点和创建的空白图中心点重合。

          4.利用Android的Paint绘制叠加图,只绘制重叠部分

          5.效果完成。


在这里我Override了一个ImageView,方便大家直接使用,当然也可以不使用这个ImageVIew,而使用其中静态的方法,效果是一样的。


直接上代码:

/*
 * Copyright (C) 2013 'Chaos'.Personal
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值