public class EffectRendererHolder extends java.lang.Object implements IRendererHolder
| Modifier and Type | Field and Description |
|---|---|
static int |
EFFECT_BIN |
static int |
EFFECT_BIN_GREEN |
static int |
EFFECT_BIN_REVERSE |
static int |
EFFECT_BIN_REVERSE_GREEN |
static int |
EFFECT_BIN_REVERSE_YELLOW |
static int |
EFFECT_BIN_YELLOW |
static int |
EFFECT_EMPHASIZE_RED_YELLOW
赤色黄色を強調
setParamsはfloat[12] {
0.17f, 0.85f, // 赤色&黄色の色相下側閾値, 上側閾値
0.50f, 1.0f, // 強調する彩度下限, 上限
0.40f, 1.0f, // 強調する明度下限, 上限
1.0f, 1.0f, 5.0f, // 強調時のファクター(H, S, Vの順) 明度(x5.0) = 1.0
1.0f, 0.5f, 0.8f, // 通常時のファクター(H, S, Vの順) 彩度(x0.5)と明度(x0.8)を少し落とす
}
|
static int |
EFFECT_EMPHASIZE_RED_YELLOW_WHITE
赤色黄色と白を強調
setParamsはfloat[12] {
0.17f, 0.85f, // 赤色&黄色の色相下側閾値, 上側閾値
0.50f, 1.0f, // 強調する彩度下限, 上限
0.40f, 1.0f, // 強調する明度下限, 上限
1.0f, 1.0f, 5.0f, // 強調時のファクター(H, S, Vの順) 明度(x5.0) = 1.0
1.0f, 0.5f, 0.8f, // 通常時のファクター(H, S, Vの順) 彩度(x0.5)と明度(x0.8)を少し落とす
白のパラメータは今はなし
|
static int |
EFFECT_GRAY |
static int |
EFFECT_GRAY_REVERSE |
static int |
EFFECT_NON |
static int |
EFFECT_NUM |
MIRROR_BOTH, MIRROR_HORIZONTAL, MIRROR_NORMAL, MIRROR_NUM, MIRROR_VERTICAL| Constructor and Description |
|---|
EffectRendererHolder(int width,
int height,
RenderHolderCallback callback) |
| Modifier and Type | Method and Description |
|---|---|
void |
addSurface(int id,
java.lang.Object surface,
boolean isRecordable)
分配描画用のSurfaceを追加
|
void |
addSurface(int id,
java.lang.Object surface,
boolean isRecordable,
int maxFps)
分配描画用のSurfaceを追加
|
void |
captureStill(java.lang.String path)
静止画を撮影する
撮影完了を待機する
|
void |
captureStillAsync(java.lang.String path)
静止画を撮影する
撮影完了を待機しない
|
void |
changeEffect(int effect) |
int |
getCount()
追加されている分配描画用のSurfaceの数を取得
|
int |
getCurrentEffect() |
android.view.Surface |
getSurface()
マスター用の映像を受け取るためのSurfaceを取得
|
android.graphics.SurfaceTexture |
getSurfaceTexture()
マスター用の映像を受け取るためのSurfaceTextureを取得
|
boolean |
isRunning()
実行中かどうか
|
void |
release()
関係するすべてのリソースを開放する。
|
void |
removeSurface(int id)
分配描画用のSurfaceを削除
|
void |
requestFrame()
強制的に現在の最新のフレームを描画要求する
分配描画用Surface全てが更新されるので注意
|
void |
reset()
マスター用の映像を受け取るためのマスターをチェックして無効なら再生成要求する
|
void |
resize(int width,
int height)
マスター映像サイズをサイズ変更要求
|
void |
setMirror(int mirror)
映像を上下左右反転させるかどうかをセット
|
void |
setParams(float[] params)
現在選択中の映像フィルタにパラメータ配列をセット
現在対応しているのはEFFECT_EMPHASIZE_RED_GREENの時のみ(n=12以上必要)
|
void |
setParams(int effect,
float[] params)
指定した映像フィルタにパラメータ配列をセット
現在対応しているのはEFFECT_EMPHASIZE_RED_GREENの時のみ(n=12以上必要)
|
public static final int EFFECT_NON
public static final int EFFECT_GRAY
public static final int EFFECT_GRAY_REVERSE
public static final int EFFECT_BIN
public static final int EFFECT_BIN_YELLOW
public static final int EFFECT_BIN_GREEN
public static final int EFFECT_BIN_REVERSE
public static final int EFFECT_BIN_REVERSE_YELLOW
public static final int EFFECT_BIN_REVERSE_GREEN
public static final int EFFECT_EMPHASIZE_RED_YELLOW
public static final int EFFECT_EMPHASIZE_RED_YELLOW_WHITE
public static final int EFFECT_NUM
public EffectRendererHolder(int width,
int height,
RenderHolderCallback callback)
public boolean isRunning()
IRendererHolderisRunning in interface IRendererHolderpublic void release()
IRendererHolderrelease in interface IRendererHolderpublic android.view.Surface getSurface()
IRendererHoldergetSurface in interface IRendererHolderpublic android.graphics.SurfaceTexture getSurfaceTexture()
IRendererHoldergetSurfaceTexture in interface IRendererHolderpublic void reset()
IRendererHolderreset in interface IRendererHolderpublic void resize(int width,
int height)
IRendererHolderresize in interface IRendererHolderpublic void setMirror(int mirror)
IRendererCommonsetMirror in interface IRendererCommonmirror - 0:通常, 1:左右反転, 2:上下反転, 3:上下左右反転public void addSurface(int id,
java.lang.Object surface,
boolean isRecordable)
IRendererHolderaddSurface in interface IRendererHolderid - 普通は#hashCodeを使うpublic void addSurface(int id,
java.lang.Object surface,
boolean isRecordable,
int maxFps)
IRendererHolderaddSurface in interface IRendererHolderid - 普通は#hashCodeを使うmaxFps - 0以下なら制限しないpublic void removeSurface(int id)
IRendererHolderremoveSurface in interface IRendererHolderpublic void requestFrame()
IRendererHolderrequestFrame in interface IRendererHolderpublic int getCount()
IRendererHoldergetCount in interface IRendererHolderpublic void captureStillAsync(java.lang.String path)
captureStillAsync in interface IRendererHolderpath - public void captureStill(java.lang.String path)
captureStill in interface IRendererHolderpath - public void changeEffect(int effect)
public int getCurrentEffect()
public void setParams(float[] params)
params - public void setParams(int effect,
float[] params)
throws java.lang.IllegalArgumentException
effect - [EFFECT_GRAY, EFFECT_NUM)params - java.lang.IllegalArgumentException - effectが範囲外ならIllegalArgumentException生成