Android中GPUImage的简单使用

小白一枚,第一次写文章,主要是想记录一下,方便以后查看,写的不好,请多见谅…

一、添加依赖工程

GPUImage是一个基于OpenGL ES 2.0的开源的图像处理库。再Android Studio中使用前需在build.gradle(app)中添加依赖:

compile 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'

三、布局文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent" android:background="@drawable/cover2">
    <Button
            android:id="@+id/choose_filter"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="选择滤镜"
            android:textSize="20sp"/>
	<ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:layout_centerInParent="true"/>
</RelativeLayout>

这里再创建一个菜单:
在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/sepia_item"
        android:title="伽马" />
    <item
        android:id="@+id/gray_item"
        android:title="黑白" />
    <item
        android:id="@+id/color_invert_item"
        android:title="反相" />
    <item
        android:id="@+id/sketch_item"
        android:title="素描" />
    <item
        android:id="@+id/emboss_item"
        android:title="浮雕" />
</menu>

二、封装GPUImageUtil

想要其他滤镜效果,可直接添加。

public class GPUImageUtil {
   

    private static GPUImageFilter filter;
    
    public enum FilterEnum{
   
        Sepia, Gray, ColorInvert, Sketch, Emboss
    }

    public static GPUImageFilter createFilterForType(FilterEnum GPUFlag){
   
        switch (GPUFlag){
   
        	case Sepia:
                filter = new GPUImageSepiaFilter();//伽马
                break;
            case Gray:
                filter = new GPUImageGrayscaleFilter();//灰
                break;
            case ColorInvert:
                fi
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值