首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android中基于OpenGL的特效

    前言 大家都知道,给图片加滤镜加特效,通常是对图像进行矩阵运算。通过颜色矩阵的乘法,我们可以对图像中的元素进行变换。 但是,如果需要对实时变化的图像进行实时处理,就不是每种图像变换的方式都可以用了。...在上一篇中,我们已经展示了Android中,通过OpenGL展示相机预览图片的方法。 这一篇主要展示,如何在预览的图片中,加入一些简单的特效。 特效概述 ?...QQ20180805-232214-HD.gif 这个特效的详细过程是,点击屏幕时,会在屏幕中间显示一个画中画,然后,画中画慢慢放大,逐渐透明。同时,原始预览图层的颜色不断随机变化。...由于特效既需要形变,也需要颜色变化,我们在gl_Position和gl_FragColor中,都引入了一个变化矩阵。...在画中画的特效中,颜色矩阵接近于一个单位矩阵,只是透明度会渐渐变小。而顶点坐标的矩阵,则会随着特效动画的进程不断变化。x和y值不对增大。 ---- 以上就是一个简单的基于OpenGL的动画特效。

    2.1K20

    Android界面绘制原理

    Android的Activity界面从何处开始绘制 Activity启动之后,灰溜溜的会去跑onCreate,onStart,onResume等生命周期方法,那么从framework里面,让我们看看Activity...checkThread(); mLayoutRequested = true; scheduleTraversals(); } } 到这里,好了,界面绘制从这里开始...这里就是要求界面绘制必须在主线程中进行更新mThread就是主线程,所以如果当前运行的线程不是主线程,那么就直接报这个异常,接下去是mLayoutRequested设置成true,避免在界面又layout...请求的时候又重复收到一次layout请求,然后再进行界面的layout,那不就乱套了,然后就是真正的界面绘制了: void scheduleTraversals() { if (!...final DisplayMetrics packageMetrics = res.getDisplayMetrics(); res.getValue(com.android.internal.R.dimen.config_prefDialogWidth

    1.5K10

    android动态拼接生成界面 ,大量界面

    2.搭建界面 有了基础数据后,我们要做的就是写一个通用Activity去动态拼装整个界面  我实现的思路是这样的 :将每种类型的控件都单独写成xml,比如有15种类型的控件就写15个xml,根据字段类型判断加载哪种类型的...判断加载完界面  处理界面控件设置默认值,设置点击事件,设置是否可以编辑点击等(因为查看  修改  添加都用一套界面),这一些基本逻辑。 我就直接将初始化布局的地方贴出来,大家看一下。...4.处理点击事件 界面拼接完成后 ,要处理控件里面的点击事件。...; import android.widget.EditText; import android.widget.LinearLayout; import android.widget.RadioButton...; import android.widget.RadioGroup; import android.widget.TextView; /** * Created by zlw on 2017/6/

    2.2K20

    Android OpenGL ES 实现蓝线挑战特效

    抖音的实现效果 打开抖音,搜索 蓝线挑战 特效,点击拍摄,就可以看到如下效果 ?...注意到,该特效有如下特点 预览界面有一根蓝线,均匀得在竖直方向上运动 蓝线的上方,显示的是上一帧的画面 蓝线的下方,显示的是正在预览的画面 随着蓝线的运动,上一帧不断被保留,最终可以得到一副奇奇怪怪的画面...这个特效虽然看着很普通,但结合使用者的创意,可以玩出各种各样的花样,下面就来看看如何实现 先看看笔者实现的效果 实现效果 ?...注意到,实现的效果来看,和抖音的还是比较吻合,除了蓝线的颜色,笔者的蓝线是纯蓝色的(#0000FF),当然,颜色可以任意调整 特效分析 那么问题来了,这样的特效应该如何实现呢 当笔者第一次看到这个特效的时候...,而当需要在相机预览或者播放视频中添加水印/贴纸,则需要先将Oes纹理转化成2D纹理,因为Oes纹理和2D纹理是不能同时使用 保留帧 让当前渲染的纹理保留在一个帧缓存里,而不显示在屏幕上 蓝线挑战这个特效

    1.2K30

    Android用户界面开发概述

    Android应用开发的一项内容就是用户界面的开发。Android提供了非常丰富的用户界面组件,借助于这些用户界面组件,开发者可以非常方便地进行用户界面开发,而且可以开发出非常优秀的用户界面。...一、界面UI元素介绍 Android应用是运行于手机系统上的程序,这种程序给用户的第一印象就是用户界面。接下来从以下几个方面来认识了解Android的界面UI元素。...下图表示Android图形用户界面的组件层次。 ?...1.3布局组件Layout Android的界面组件比较多,为了更好的管理用户界面里的各组件,Android提供了布局组件来进行管理。...3.2使用Java代码 虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全在Java代码中控制UI界面。

    2.5K100

    Android界面性能优化必读

    下面列举Android常见的界面性能调试工具: 2.2.1 Hierarchy View [1240] Hierarchy View 在Android SDK里自带,常用来查看界面的视图结构是否过于复杂...2.2.5 OverDraw [1240] 通过在 Android 设备的设置 APP 的开发者选项里打开 “ 调试 GPU 过度绘制 ” ,来查看应用所有界面及分支界面下的过度绘制情况,方便进行优化。...实例《 Optimizing Android Hardware Layers 》 2.3 如何解决 前面提到过我司的目前所需的测试维度如下: 界面过度绘制;(检测过度绘制) 渲染性能;(检测严格模式下的...3.2 追踪过度绘制 通过在 Android 设备的设置 APP 的开发者选项里打开 “ 调试 GPU 过度绘制 ” ,来查看应用所有界面及分支界面下的过度绘制情况,方便进行优化。...[1240] 这个工具会在Android 设备的屏幕上实时显示当前界面的最近 128 帧 的 GPU 绘制图形数据,包括 StatusBar 、 NavBar 、 当前界面的 GPU 绘制图形柱状图数据

    4.8K10
    领券