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

    Android OpenGL ES(六)-给相机添加滤镜

    上文中我们已经实现了将OpenGL和相机结合到一起,本文就在上文的基础上,添加滤镜。 整体流程理解 ---- ? 添加滤镜后的整体流程.png 上编文章,我们是直接绘制OES的纹理。...我们就可以通过这个纹理,得到保存在FBO上的数据了 添加滤镜的绘制 ? 添加滤镜.png 我们可以通过FBO,进行滤镜处理。...我们将得到的数据,再次进行绘制,在这次的绘制中,我们就可以添加上我们想要的滤镜处理了。 但是这里不仅仅是要绘制到屏幕上,同时要在开启录制的时候,输入给Encoder进行视频的编码和封装。...得到挂载在FrameBuffer上的outputTextureId 代码同上,省略 将应用了滤镜的纹理分别绘制到GLView和Encoder当中 ?...后面就可以如何添加更加炫酷的滤镜和玩法了。

    2.9K30

    FFmpeg 视频录制 - 视频添加滤镜和编码

    接下来主要介绍软件编码这一块,包括视频编码、音频编码、为视频添加滤镜等,后续文章安排介绍 Android MediaCodec 硬件编解码。...前文我们对 x264、fdk-aac 及 FFmpeg 进行了整合编译,本文将利用编译好的 FFmpeg 库对 Android Camera2 采集的预览帧先进行渲染,然后利用 OpenGL 添加滤镜,...预览帧添加滤镜、编码 ? 预览帧添加滤镜、编码流程 写 OpenGL ES 系列文章的时候,很多同学说为啥在 Native 层来写 demo ?...其实就是为了配合 FFmpeg 在视频解码和编码时添加滤镜,那么之前在 native 层写的所有关于滤镜的 demo ,现在可以直接拿过来用了,比如相机基础滤镜,相机抖音滤镜这些。...然后在 FBO 离屏渲染时添加滤镜,读取渲染结果作为 FFmpeg 视频编码的输入,最后绑定到 FBO 的纹理再去做屏幕渲染显示出来。

    2.3K10

    FFmpeg 视频录制 - 视频添加滤镜和编码

    [FFmpeg 视频录制 - 视频添加滤镜和编码] 音视频开发中,视频编码是另一个重要的部分,基于 FFmpeg 软件解码前面系列文章已经介绍过了,接下来主要介绍软件编码这一块,包括视频编码、音频编码、...为视频添加滤镜等。...预览帧添加滤镜、编码 [预览帧添加滤镜、编码流程] 写 OpenGL ES 系列文章的时候,很多同学说为啥在 Native 层来写 demo ?...其实就是为了配合 FFmpeg 在视频解码和编码时添加滤镜,那么之前在 native 层写的所有关于滤镜的 demo ,现在可以直接拿过来用了。...FBO 离屏渲染时添加滤镜,读取渲染结果作为 FFmpeg 视频编码的输入,最后绑定到 FBO 的纹理再去做屏幕渲染显示出来。

    1.9K60

    在 Xcode 中添加 Swift package 依赖

    如果开发人员正确遵循 SemVer,则他们应该: 只要不破坏任何API或添加功能,就可以在修复错误时更改补丁号。 当他们添加不会破坏任何API的功能时,请更改次版本号。 更改API时更改主版本号。...要尝试,请打开 ContentView.swift 并将此导入添加到顶部: import SamplePackage 是的,外部依赖关系现在是一个模块,我们可以在需要的任何地方导入它。...在Swift中这只需要一行代码,因为序列具有map()方法,通过将函数应用于每个元素,我们可以将一种类型的数组转换为另一种类型的数组。...在我们的例子中,我们希望从每个整数初始化一个新的字符串,因此我们可以将String.init用作要调用的函数。...现在将此最后一行添加到属性中: return strings.joined(separator: ", ") 这就完成了我们的代码:文本视图将显示结果中的值,该结果将继续并选择随机数,对其进行排序,将它们进行字符串化

    6.9K10

    Java 在 PDF 中添加表单域

    PDF表单域是指用户在PDF文件中可以自主进行填写、选择等操作的区域,其主要目的是采集用户输入或选择的数据。常见的表单域包括文本框、单选按钮、复选框、列表框和组合框等。...文本将介绍如何使用 Free Spire.PDF for Java在Java程序中创建PDF表单域。...Jar包导入 方法一:下载Free Spire.PDF for Java包并解压缩,然后将lib文件夹下的Spire.Pdf.jar包作为依赖项导入到Java应用程序中 方法二:直接通过Maven仓库安装...; //文本框前的文字 page.getCanvas().drawString(text, font, brush1, new Point2D.Float(0, baseY)); //在PDF...中绘制文字 Rectangle2D.Float tbxBounds = new Rectangle2D.Float(baseX, baseY , 150, 15); //创建Rectangle2D

    3.9K30

    Android OpenGL ES(四)-为平面图添加滤镜

    这章,我们再接再厉,为我们的纹理添加单独的滤镜效果 上一章加载图片的过程,在这里就不做赘述。 黑白效果 基础分析 之前我们通过YUV数据格式的处理知道,只要保留Y的数据,就是灰度的图片。...texture_fragment_shader.glsl precision mediump float; //在片元着色器这里添加这个 sampler2D 表示我们要添加2D贴图 uniform sampler2D...我们添加了一个uniform的属性u_ChangeColor,这样我们可以传递我们自己的系数给OpenGL 着色器中取样的其实是小单元的RGB色值(图片每个像素的色彩值),我们可以通过计算操作,色彩值进行调整...着色器代码更新 precision mediump float; //在片元着色器这里添加这个 sampler2D 表示我们要添加2D贴图 uniform sampler2D u_TextureUnit...precision mediump float; //在片元着色器这里添加这个 sampler2D 表示我们要添加2D贴图 uniform sampler2D u_TextureUnit; varying

    1.8K30

    链表----在链表中添加元素详解

    1.2对于链表来说,若想访问链表中每个节点则需要把链表的头存起来,假如链表的头节点为head,指向链表中第一个节点,如图: ?...2.2 如在链表头添加一个666元素则需要先将666放进一个节点里,在节点里存入这个元素以及相应的next。 ?...2.3 在链表头添加新元素的相关代码 //在链表头添加新的元素e public void addFirst(E e) { Node node = new Node(e);...从上不难看出,对于在链表中添加元素关键是找到要添加的节点的前一个节点,因此对于在索引为0的节点添加元素就需要单独处理。...关于在链表中间添加元素的代码: //在链表的index(0--based)的位置添加新的元素e (实际不常用,练习用) public void add(int index, E e)

    2.7K30
    领券