- 浏览: 206254 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
kingboup:
看了运行效果,不错,给力,谢谢
《安卓考试》Eclipse项目源码 -
在下个路口:
做android的,手机没root很奇怪吗?
【Android】使用Wifi连接ADB调试App -
guanting207:
图片显示限制了大小,为了正常显示,我加了scaletype=c ...
【Android】图片切角,切指定的边。 -
qinzuobin:
Version: 1.0.7(107)Android: 4.2 ...
《安卓考试》通用版ver-2,截图和源码 -
zxlxgd:
其实稍微改下下载方法就可以使用了:/** * 解析下载列表 ...
《安卓考试》Eclipse项目源码
公司的项目,UI和应用都是我自己做的。前几天设计了一个UI,出现了半边圆角的情况,如下图片所示。图片都来自服务器,肯定不能要求返回的图片按这个格式,必须在应用端对图片进行切角。
Google了好久,发现能找到的代码都是重复的,而且代码垃圾很多。于是按着那段代码的解决方式,自己写了一个实现指定切某一边的工具类。
直接可用的代码:
package com.lurencun.androidsysteminfomation; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.PorterDuffXfermode; import android.graphics.Rect; import android.graphics.RectF; import android.graphics.Bitmap.Config; import android.graphics.PorterDuff.Mode; /** * @author : 桥下一粒砂 * @email : chenyoca@gmail.com * @date : 2012-11-8 * @desc : */ public class BitmapFillet { public static final int ALL = 347120; public static final int TOP = 547120; public static final int LEFT = 647120; public static final int RIGHT = 747120; public static final int BOTTOM = 847120; /** * * 指定图片的切边,对图片进行圆角处理 * @param type 具体参见:{@link BitmapFillet.ALL} , {@link BitmapFillet.TOP} , * {@link BitmapFillet.LEFT} , {@link BitmapFillet.RIGHT} , {@link BitmapFillet.BOTTOM} * @param bitmap 需要被切圆角的图片 * @param roundPx 要切的像素大小 * @return * */ public static Bitmap fillet(int type,Bitmap bitmap,int roundPx) { try { // 其原理就是:先建立一个与图片大小相同的透明的Bitmap画板 // 然后在画板上画出一个想要的形状的区域。 // 最后把源图片帖上。 final int width = bitmap.getWidth(); final int height = bitmap.getHeight(); Bitmap paintingBoard = Bitmap.createBitmap(width,height, Config.ARGB_8888); Canvas canvas = new Canvas(paintingBoard); canvas.drawARGB(Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT, Color.TRANSPARENT); final Paint paint = new Paint(); paint.setAntiAlias(true); paint.setColor(Color.BLACK); if( TOP == type ){ clipTop(canvas,paint,roundPx,width,height); }else if( LEFT == type ){ clipLeft(canvas,paint,roundPx,width,height); }else if( RIGHT == type ){ clipRight(canvas,paint,roundPx,width,height); }else if( BOTTOM == type ){ clipBottom(canvas,paint,roundPx,width,height); }else{ clipAll(canvas,paint,roundPx,width,height); } paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN)); //帖子图 final Rect src = new Rect(0, 0, width, height); final Rect dst = src; canvas.drawBitmap(bitmap, src, dst, paint); return paintingBoard; } catch (Exception exp) { return bitmap; } } private static void clipLeft(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(offset,0,width,height); canvas.drawRect(block, paint); final RectF rectF = new RectF(0, 0, offset * 2 , height); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipRight(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(0, 0, width-offset, height); canvas.drawRect(block, paint); final RectF rectF = new RectF(width - offset * 2, 0, width , height); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipTop(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(0, offset, width, height); canvas.drawRect(block, paint); final RectF rectF = new RectF(0, 0, width , offset * 2); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipBottom(final Canvas canvas,final Paint paint,int offset,int width,int height){ final Rect block = new Rect(0, 0, width, height - offset); canvas.drawRect(block, paint); final RectF rectF = new RectF(0, height - offset * 2 , width , height); canvas.drawRoundRect(rectF, offset, offset, paint); } private static void clipAll(final Canvas canvas,final Paint paint,int offset,int width,int height){ final RectF rectF = new RectF(0, 0, width , height); canvas.drawRoundRect(rectF, offset, offset, paint); } }
评论
1 楼
guanting207
2015-07-01
图片显示限制了大小,为了正常显示,我加了scaletype=centercrop,这样大图的圆角就显示不出来了,不知道楼主有没有遇见这个问题,求指教。357553873
发表评论
-
类似HTML map标签功能的Android组件
2013-05-21 15:56 2224Android Image Map 一个类似HTML ma ... -
【开源框架】一个基于回调机制的多线程异步Http连接框架
2013-04-26 09:59 2878Async Http Connection 源码地址: h ... -
【Android + Java】简便的异步Http连接框架
2012-11-06 11:05 4947【Android + Java】简便的异步Http连接框架 ... -
【Android】使用Wifi连接ADB调试App
2012-11-05 09:39 27478为什么用Wifi连接ADB不用数据线?因为我的数据线不见了。 ... -
MacOSX创建Android调试环境
2012-11-02 23:25 2593本文写的是Mac OS X Lion 10.8中搭建Andro ... -
《安卓考试》通用版ver-2,截图和源码
2012-05-26 22:26 3341首先放出源码:https://github.com/cheny ... -
将Cocos2d-x项目移植到Android过程分析
2012-04-25 15:59 0网上有一系列教程,还有各种原理分析。需要学习对Android ... -
个人项目整理——UI设计(Android)
2012-04-04 18:30 1575快毕业了,整理一下大学这四年来做过的东西。今天一位伟大的老板问 ... -
父View的TouchEvent自执行后再分配/派发的处理
2012-02-04 17:49 1170这两天写了一个自定义滑动翻页,类似主页切换效果的组件。 动态 ... -
Maven修改本地仓储位置
2012-01-04 17:36 12951、在到Maven安装目录的conf下的setting.xml ... -
Scala写的Android应用安装时报INSTALL_PARSE_FAILED_NO_CERTIFICATES
2011-12-19 20:55 1591原来环境: -JDK 7 -Scala 2.9final 用 ... -
图解,Eclipse+ADT+ScalaIDE用Scala写Android程序
2011-12-15 19:47 5656网上有很多用Scala写Android程序的文章,但大都是转自 ... -
[译]用Scala为Android写应用程序
2011-12-12 09:31 0本人英文水平麻麻地,四级待考。如有错误,请指正。 本文献给所 ... -
Android外置存储器(SD卡)工具类
2011-12-08 10:45 3319纯属代码分享:Android外置存储器(SD卡)工具类 ... -
外置存储器(SD卡)工具类
2011-12-08 10:40 1纯属代码分享 /** * */ packag ... -
启动界面淡入动画显示类
2011-12-07 20:08 1742啥都不要说了,看代码: /** * */ p ... -
Android联系人数据表结构
2011-11-17 20:28 3676数据库位置在: /data/data/com.android ... -
打包下载Android源码
2011-11-16 12:00 2982在Windows环境下,在Android官网下载源码是一件很麻 ... -
(图文详解)在Eclipse中给Android项目自定义ANT配置
2011-11-15 18:33 0参考博文:http://googlers.iteye.com/ ... -
校外实习了
2011-11-08 21:13 1020学校安排到深圳实习,各种坑爹。
相关推荐
android 自定义控件继承自ImageView ,实现本地图片或网络图片斜切功能;可根据自己需求进行图片切割
测试的时候 先在在指定的sdcard中创建一个文件夹 放几张图片 然后在代码相应处改成你的文件名 或者直接把你的恶文件名命名为MyProPhoto就行了
在选择用户头像时,一般会用到 通过拍照或相册 选取指定区域大小的android图片或拍照选取指定区域的 完美解决方案
在imageview上的指定位置添加另一个iamgeview,并实现等比例缩放,图片自适应
支持图片加解密,支持文件字节流输入输出,支持按宫格切割图片,支持按像素自定义切割图片等多种方法。
本来一直想调用系统图库打开指定目录下的图片或者视频,到网上查看了很久,发现只能查看全部,而我需要打开指定文件夹下的,没办法,只有硬着头皮先把文件路径查找出来,再查看。 运行时请注意路径!
android gallery 图片轮播 展示SD卡下指定目录的图片 可删除
主要是android版本对所有图片转化为正方形。
实现了在android平台上将图片进行任意路径截取的功能.
Android下自动连接指定SSID的WIFI的简单实现的demo, 需求分析:在很多的智能设备上并没有可用于交互的界面。这种情形在智能设备就可以提供指定SSID和密码的wifi自动连接。
android图片缩放、放大demo,android图片缩放、放大demo.
调用服务器的webservice接口,实现从Android上传图片到服务器,然后从服务器下载图片到Android客户端 从Android端用io流读取到要上传的图片,用Base64编码成字节流的字符串,通过调用webservice把该字符串作为参数...
android图片边框android图片边框android图片边框
实现图片从底部飞入,并且固定图片飞入后显示的位置
实现android图片翻转效果,可先到我博客看看效果再下载
Android展示指定文件夹下面的所有的图片
高仿现在主流的图片浏览的全屏缩放效果。如QQ好友动态、微信朋友圈。
Android 图片加密解密,包括国际标准的AES加密和混入字节加密,非常实用
实现Android中WebView图片的缓存,并且实现如何替换WebView中默认图片以及如何实现图片的点击。
Android实现图片左右滑动效果 代码很简单,就一个Activity,很好学习的 可以联系我一起学习,交流哈