最近发现很多应用都用圆形的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

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

被折叠的 条评论
为什么被折叠?



