Android 图像处理

本文介绍了Android图像处理的相关知识,包括使用Matrix进行图像变换,实现负片、怀旧、浮雕、灰度、圆角、油画和左右对称等特效。通过ImageHelper类展示了如何应用这些特效,并给出了图像虚化的实现示例。
摘要由CSDN通过智能技术生成

Duang Duang~

学习一下原理:

Matrix:

其中e,j,o,t为偏移量

aR+bG+cB+dA+e

fR+gG+hB+iA+j

kR+lG+mB+nA+o

pR+qG+rB+sA+t

=

R1

G1

B1

A1

在onCreate函数中用post来获取组件的宽高:

mGroup.post(new Runnable() {

@Override

public void run() {

mEtWidth = mGroup.getWidth() / 5;

mEtHeight = mGroup.getHeight() / 4;

addEts();

initMatrix();

}

});

这里写图片描述

最后一弹,共实现负片,怀旧,浮雕,灰度,圆角,油画和左右对称7种特效:

实现的ImageHelper如下:

package com.zms.imageprocess;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.ColorMatrix;

import android.graphics.ColorMatrixColorFilter;

import android.graphics.Matrix;

import android.graphics.Paint;

import android.graphics.PorterDuff;

import android.graphics.PorterDuffXfermode;

import android.graphics.Rect;

import android.graphics.RectF;

import java.util.Random;

/**

  • Created by Administrator on 2015/4/1.

*/

public class ImageHelper {

// hue-色相 saturation-饱和度 lum-亮度

public static Bitmap ImageEffect(Bitmap bitmap, float hue, float saturation, float luminance) {

Bitmap mBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.ARGB_8888);

Canvas canvas = new Canvas(mBitmap);

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

// Hue-色相/色调

ColorMatrix hueMatrix = new ColorMatrix();

hueMatrix.setRotate(0, hue); // RED

hueMatrix.setRotate(1, hue); // GREEN

hueMatrix.setRotate(2, hue); // BLUE

// Saturation-饱和度

ColorMatrix saturationMatrix = new ColorMatrix();

saturationMatrix.setSaturation(saturation);

// Luminance-亮度/明度

ColorMatrix luminanceMatrix = new ColorMatrix();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值