`

Android Bitmap 圆角 倒影

 
阅读更多
// 获得带倒影的图片方法
	public Bitmap createReflectionImageWithOrigin(Bitmap bitmap) {
		// 图片与倒影之间的距离间隔
		final int reflectionGap = 2;
		// 原图的宽度
		int width = bitmap.getWidth();
		// 原图的高度
		int height = bitmap.getHeight();
		// 图片旋转,缩放等控制对象
		Matrix matrix = new Matrix();
		// 缩放(这里pre,set,post三种效果是不一样的,注意区别)
		matrix.preScale(1, -1);
		/**
		 * set是直接设置Matrix的值,每次set一次,整个Matrix的数组都会变掉。
		 * post是后乘,当前的矩阵乘以参数给出的矩阵。可以连续多次使用post, 来完成所需的整个变换。例如,要将一个图片旋
		 * 转30度,然后平移到(100,100)的地方,那么可以这样做: Matrix m = new Matrix();
		 * m.postRotate(30); m.postTranslate(100, 100); 这样就达到了想要的效果。
		 * pre是前乘,参数给出的矩阵乘以当前的矩阵。所以操作是在当前矩阵的最前面发生的。 例如上面的例子,如果用pre的话,就要这样:
		 * Matrix m = new Matrix(); m.setTranslate(100, 100); m.preRotate(30);
		 * 旋转、缩放和倾斜都可以围绕一个中心点来进行,如果不指定,默认情况下, 是围绕(0,0)点来进行。
		 * 
		 * 关于缩放: scale的参数是比例。例如,我们缩放为100%,则有一点要注意,如果直接用
		 * 100/bmp.getWidth()的话,会得到0,因为是整型相除,所以必须其中有一个是 float型的,直接用100f就好 。
		 * 如:matrix.setScale(100f/bmp.getWidth(), 100f/bmp.getHeight());
		 */
		// 创建一个初始的倒影位图
		Bitmap reflectionImage = Bitmap.createBitmap(bitmap, 0, height / 2,
				width, height / 2, matrix, false);
		// 新建一个宽度为原图宽度,高度为原图高度的3/2的位图,用于绘制新的位图,即整体的效果图位图对象
		Bitmap bitmapWithReflection = Bitmap.createBitmap(width,
				(height + height / 2), Config.ARGB_8888);
		// 由该位图对象创建初始画布(规定了画布的宽高)
		Canvas canvas = new Canvas(bitmapWithReflection);
		// 在该画布上绘制原图
		canvas.drawBitmap(bitmap, 0, 0, null);
		// 创建一个画笔
		Paint deafalutPaint = new Paint();
		// 绘制一个矩形区域,该矩形区域便是原图和倒影图之间的间隔图
		canvas.drawRect(0, height, width, height + reflectionGap, deafalutPaint);
		// 绘制该倒影图于间隔图的下方
		canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);
		// 创建一个画笔
		Paint paint = new Paint();
		// 创建一个线性渐变对象
		LinearGradient shader = new LinearGradient(0, bitmap.getHeight(), 0,
				bitmapWithReflection.getHeight() + reflectionGap, 0x70ffffff,
				0x00ffffff, TileMode.CLAMP);
		// 把渐变效果应用在画笔上
		paint.setShader(shader);
		// Set the Transfer mode to be porter duff and destination in
		// 未知
		paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
		// Draw a rectangle using the paint with our linear gradient
		// 绘制出该渐变效果,也就是最终的倒影效果图
		canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
				+ reflectionGap, paint);
		// 返回
		return bitmapWithReflection;
	}
分享到:
评论

相关推荐

    android Bitmap圆角与倒影的具体实现代码

    在设计用户界面时,我们可能需要对Bitmap进行各种操作,如制作圆角和倒影效果,以提升视觉体验。以下将详细介绍如何实现这两个功能。 首先,我们来看如何创建一个具有圆角的Bitmap。这个过程主要通过Canvas和Paint...

    android 圆角图片+图片倒影

    在Android开发中,创建圆角图片和图片倒影是常见的需求,这主要涉及到图像处理和视图绘制的技术。本文将详细讲解如何在Android平台上实现这些功能。 首先,让我们来看看如何生成圆角图片。在Android中,我们可以...

    2011.10.19(2)——— android 圆角与倒影

    在Android开发中,实现圆角和倒影效果是常见的需求,尤其在设计用户界面时,这类视觉元素可以提升应用的美观度和用户体验。本篇内容将深入探讨如何在Android中创建圆角和倒影效果。 首先,让我们了解如何实现圆角...

    android Bitmap用法总结

    - 获取圆角Bitmap:`getRoundedCornerBitmap`方法利用Canvas和Paint创建圆角效果。 - 生成带倒影的Bitmap:`createReflectionImageWithOrigin`方法通过复制和翻转Bitmap并添加渐变效果实现。 以上就是Android中...

    Android图片倒影+圆角图片

    总之,在Android开发中,创建图片的倒影和圆角效果是提高应用界面美观度的重要手段。理解并掌握这些技术,能够帮助开发者创造出更具吸引力的用户界面。同时,合理利用第三方库可以简化开发过程,提高开发效率。

    圆角、倒影处理及壁纸获取

    在Android应用开发中,对图像进行圆角处理和制作倒影效果是常见的需求,这能够提升界面的美观度和用户体验。本Demo就是针对这些需求提供的一种解决方案,它适用于Android 4.4.2(KitKat)及更高版本的系统。 首先,...

    Android生成各种特效Bitmap

    Drawable转Bitmap、圆角图片、倒影效果等各种特效。

    Android图片处理效果

    为了更好地实践这些知识,你可以参考压缩包中的"实现圆角倒影"文件,它可能包含了一些示例代码或项目,供你学习和参考。通过动手实践,你会更深入地理解Android图片处理的各种技巧,并能自如地运用到自己的项目中。

    bitmap图片处理工具类

    "Bitmap图片处理工具类" 提供了多种对位图(Bitmap)进行操作的功能,如颜色转换、图像分割、缩放、旋转、调整透明度、生成圆角图片以及文字与倒影效果的绘制。接下来,我们将深入探讨这些知识点。 首先,`...

    Android编程中图片特效处理方法小结

    本文将深入探讨Android中图片转换、缩放、圆角以及倒影等特效的实现方法。 首先,我们来看一下如何将`Drawable`转换为`Bitmap`。在Android中,`Drawable`是一个抽象类,它代表了屏幕上的可视元素,而`Bitmap`则是一...

    Android开发中常用的功能

    "Android实现图表绘制和展示","断点续传下载","常用Intent.Action","图片缩放圆角倒影Bitmap/Drawable转换", "SlidingDrawer抽屉效果","Android顶部与底部菜单","GroupActivity测试","Android平台水波效果源码",...

    android几种图形特效

    本文将深入探讨几种常见的Android图形特效,包括图片的圆角、图片的缩放、图片的倒影以及图片的旋转,这些都是Android开发者需要掌握的基本技能。 首先,我们来看如何实现图片的圆角效果。在Android中,可以使用...

    Android 图像处理(类型转换,比例缩放,倒影,圆角)的小例子

    在Android开发中,图像处理是一项常见的任务,涵盖了各种操作,如类型转换、比例缩放、创建倒影和制作圆角图像。以下是对这些知识点的详细解释: 1. **比例缩放图片**: 在Android中,可以使用`Bitmap`类提供的...

    Android 轻松实现图片倒影效果实例代码

    这些方法分别用于Drawable到Bitmap的转换、Bitmap的缩放、创建圆角Bitmap以及创建倒影Bitmap。 在实际开发中,我们可以通过类似的方式实现其他视觉效果,比如模糊、裁剪、滤镜等。理解并掌握这些基本的图像处理方法...

    通用Android工具库Common4Android.zip

    Bitmap常用工具类,Bitmap数据类型转换、圆角、缩放、倒影。 ConvertUtil.java 转换工具类,进行对象的类型转换。 DateUtil.java 日期工具类,...

Global site tag (gtag.js) - Google Analytics