移动端UI设计越来越流行的高斯模糊(Gaussian blur)和毛玻璃效果(磨砂效果),如何使用Android RenderScript简单实现?

高斯模糊(Gaussian blur)和毛玻璃效果(亦称磨砂效果),近两年在移动端的UI设计上越来越流行,特别是iOS手机上出现的较多,iOS系统也提供了相应的API帮助开发人员分分钟实现这两个效果。而Android系统则经历了一个漫长的探索过程,对图片的处理,从Java算法到NDK方式实现等,各种摸索层出不穷。

值得欣慰的是,Google终于在API 11中引入了 RenderScript ,一个强大的图片处理框架,帮助Android开发人员专注于图片处理算法而不是API的调度工作。使用RenderScript进行图片处理,还需要了解 RenderScript Intrinsics ,一些可以帮助RenderScript快速实现各种图片处理的操作类。比如 ScriptIntrinsicBlur ,可以简单高效地帮助我们实现高斯模糊效果:

public Bitmap blurBitmap(Bitmap bitmap){

	//Let‘s create an empty bitmap with the same size of the bitmap we want to blur
	Bitmap outBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Config.ARGB_8888);

	//Instantiate a new Renderscript
	RenderScript rs = RenderScript.create(getApplicationContext());

	//Create an Intrinsic Blur Script using the Renderscript
	ScriptIntrinsicBlur blurScript = ScriptIntrinsicBlur.create(rs, Element.U8_4(rs));

	//Create the Allocations (in/out) with the Renderscript and the in/out bitmaps
	Allocation allIn = Allocation.createFromBitmap(rs, bitmap);
	Allocation allOut = Allocation.createFromBitmap(rs, outBitmap);

	//Set the radius of the blur: 0 < radius <= 25
	blurScript.setRadius(25.0f);

	//Perform the Renderscript
	blurScript.setInput(allIn);
	blurScript.forEach(allOut);

	//Copy the final bitmap created by the out Allocation to the outBitmap
	allOut.copyTo(outBitmap);

	//recycle the original bitmap
	bitmap.recycle();

	//After finishing everything, we destroy the Renderscript.
	rs.destroy();

	return outBitmap;	

}

通过设置模糊半径(radius)的大小来控制图片的清晰度,简短的几行代码轻松实现图片的高斯模糊处理,我们看一下radius等于最大值25时的图片模糊效果:

原图效果:

高斯模糊:

注意:ScriptIntrinsicBlur的相关方法只支持API 17及以上版本的系统,为了兼容旧版本,Google供了support.v8包,在使用RenderScript和Intrinsics类时,引入v8包中的相关类即可:

import android.support.v8.renderscript.Allocation;
import android.support.v8.renderscript.Element;
import android.support.v8.renderscript.RenderScript;
import android.support.v8.renderscript.ScriptIntrinsicBlur;

同时,在 app/build.gradle 文件的 defaultConfig 配置中,添加如下两行内容即可:

defaultConfig {
	......
	renderscriptTargetApi 19
	renderscriptSupportModeEnabled  true
}

在设计上巧妙地运用高斯模糊往往能达到出乎意料的体验效果,比如大神 daimajia 就利用RenderScript和 NineOldAndroids 做了一个比较有创意的UI交互,开源库为: AndroidViewHover ,效果如下,感兴趣的同学可以一探究竟:

写在最后FOR Freedom | 知识就应该被开放的获取,看看外边的世界,以及IT这一行,少不了去Google查资料,最后,安利一个V——PN代理。一枝红杏 VPN,去Google查资料是绝对首选,连接速度快,使用也方便。我买的是99¥一年的,通过这个链接(http://my.yizhihongxing.com/aff.php?aff=2509)注册后输上会员中心得优惠码,平摊下来,每月才7块钱,特实惠。

本文标签 Android高斯模糊(毛玻璃/磨砂)移动端UI设计RenderScriptScriptIntrinsicBlur

转自 SUN‘S BLOG - 专注互联网知识,分享互联网精神!

原文地址 :移动端UI设计越来越流行的高斯模糊(Gaussian blur)和毛玻璃效果(磨砂效果),如何使用Android RenderScript简单实现?

相关阅读:Aaron Swartz – 互联网天才开挂的人生历程:每时每刻都问自己,现在这世界有什么最重要的事是我能参与去做的?
相关阅读:网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

相关阅读:什么是工程师文化?各位工程师是为什么活的?作为一个IT或互联网公司为什么要工程师文化?

相关阅读: 对程序员有用:2017最新能上Google的hosts文件下载及总结网友遇到的各种hosts问题解决方法及配置详解

相关阅读:春节将至,又到了评绩效拿年终奖的时候!程序员绩效KPI 这个弥久历史谜题该怎么算呢?

相关BLOG:SUN’S BLOG - 专注互联网知识,分享互联网精神!去看看:www.whosmall.com

时间: 2024-10-12 08:03:10

移动端UI设计越来越流行的高斯模糊(Gaussian blur)和毛玻璃效果(磨砂效果),如何使用Android RenderScript简单实现?的相关文章

移动端ui设计培训就业好吗?

UI是用户界面,是英文User interface的缩写.相关发展领域包括用户.界面以及用户与界面之间的交互关系,相应地ui设计师可分为3个方向,分别是:用户研究.交互设计.界面设计.而移动端的ui设计则指手机等移动设备的相关设计培训.而目前国内UI设计师的工作涉及范围包括商用平面设计.高级网页设计.移动应用界面设计及部分包装设计,是目前中国信息产业中最为抢手的人才之一. 在就业前景方面,我们从国内IT领域培训武汉中软国际教育集团了解到,当前我国移动互联网等新兴互联网产业进入了高速发展的阶段,产

移动端UI设计的经验总结

?UI的设计师根据多年设计第三方应用的经验,以实用和独特的想法提出了6个手机UI设计的技巧,希望使新手机应用在发布前提升质量,最大化发掘该应用的潜力,从而最小化用户差评和低下载量这种不良结果. 一目了然 首次开启应用时,每个人的脑中都会浮现出相同的3个问题:我在哪里?我能够做什么?我接下来能够做什么?努力使应用立即对这些问题做出回答.如果你能够在前数秒的时间里告诉用户这是款适合他们的产品,那么他们势必会进行更深层次的发掘. 输入便捷 在熙熙攘攘的大街上,一手拿着杯咖啡,另一手拿着设备,在多数时间

【Unity Shader编程】之十五 屏幕高斯模糊(Gaussian Blur)后期特效的实现

本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/51871531 作者:毛星云(浅墨)    微博:http://weibo.com/u/1723155442 本文工程使用的Unity3D版本: 5.2.1  本篇文章将分析如何在Unity中基于Shader实现高斯模糊屏幕后期特效. 首先放出最终的实现效果.如下几幅图,是在Unity中使用本文所实现的Shader得到的高斯模糊屏幕

UI设计需要学什么?

UI这个概念,也许没有入行的朋友还是挺陌生,但是对于从事UI设计的设计师来说可以很火高薪的工作.其实UI设计囊括了很多方面,做网页也属于UI,做软件设计也属于UI,所以不要分的那么细致,在工作中逐渐找寻自己的方向,发展自己的爱好.选UI设计要看你选择的工作,一般都是具备一定的软件操作能力后,在工作中不断积累的. ui即User Interface(用户界面)的简称.UI设计则是指对软件的人机交互.操作逻辑.界面美观的整体设计.现在比较多的UI实际上就是GUI设计.也就是图形用户界面的设计,包括软

Android中UI设计的一些技巧!!!

出处:http://blog.csdn.net/android_tutor/article/details/5995759 大家好,今天给大家分享的是Android中UI设计的一些技巧,本节内容主要有两点:一是Android按钮(Button)的UI设计,二是:ListView以及GridView的UI设计. 按钮的状态: 我们一般搞UI设计,按钮通常有三个状态:normal(正常状态);focus(焦点状态),pressed(按下状态).如下图所示:                      

UI设计---化繁为简

在验收海南的项目中,出现了各种问题,其中最大的问题之一就是界面,因为界面给用户的感受是最直接的.界面的信息量太多或者太少都会造成用户的"不习惯"并且我们做出软件来也是给用户用的,如果连自己都不会用或者自己都不想用,那么就该好好反思一下了. 界面设计在技术上并不是一件困难的事,只是我们在心里对这部分还不够重视,甚至有所忽略.我们不应该仅仅把自己当做开发者,而要转换为用户的角色,设身处地的为用户多做一点. 用户体验 在说UI设计之前,我们先看一下什么是用户体验?简单的说就是用户使用软件过程

Atitit Gaussian Blur&#160;高斯模糊&#160;的原理and实现and 用途

Atitit Gaussian Blur 高斯模糊 的原理and实现and 用途 1.1. 高斯模糊 的原理(周边像素的平均值+正态分布的权重1 1.2. 高斯模糊 的用途(磨皮,毛玻璃效果,背景虚化1 1.3. 参数radus1 1.4. 高斯模糊 的实现(第三方库)1 1.5. Java  源码1 1.1. 高斯模糊 的原理(周边像素的平均值+正态分布的权重 高斯模糊_百度百科.html 通常,图像处理软件会提供"模糊"(blur)滤镜,使图片产生模糊的效果 "模糊&qu

UI设计师必须了解:2015年十大移动端APP设计主流趋势

从移动端兴起,主流设计风格定型,再到Uber.Vine等现象级APP的崛起,移动端的APP设计直到现在才渐入佳境.促成这一切的影响因素很多,比如社会发展趋势的变化.共享经济的大热.新技术的积累,等等等等.这些事物的出现需要时间积累,这也是为什么这些应用到现在才火起来. 同样的,今年我们要关注的是定型了的巨屏手机和逐渐沉淀下来的可穿戴设备. 随着日常生活中所涉及到的移动端应用的增加,用户在这些东西上的所耗费的精神和脑力也越来越多.查看邮件.预订酒店.叫外卖都有赖于各种应用,而诸如Airbnb和Gr

2017年8个UI设计流行趋势

设计趋势变化的理由需要考虑各种各样的因素.让我们来一起看看2017年的设计流行趋势吧. 应用界面的设计趋势是不断变化的.随着时间的推移他也在不断的成长,进化.虽然有些趋势还有待检验,但我们还是需要不断的去学习新的技术. 优秀的UI设计是包含了简洁(英: Simplicity)和易用性(英: Effectiveness)这两点.这也是每个设计师的职责.但是相反的,如果用户在使用时完全摸不着头脑,对UI设计来说就非常失败了. 设计趋势变化的理由需要考虑各种各样的因素.例如2015年推动设计变化的原因