Skip to content

Commit e5e0785

Browse files
committed
small sample for Levels Filter
1 parent 4347804 commit e5e0785

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

sample/src/jp/co/cyberagent/android/gpuimage/sample/GPUImageFilterTools.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ public static void showDialog(final Context context,
104104

105105
filters.addFilter("Color Balance", FilterType.COLOR_BALANCE);
106106

107+
filters.addFilter("Levels Min (Mid Adjust)", FilterType.LEVELS_FILTER_MIN);
108+
107109
AlertDialog.Builder builder = new AlertDialog.Builder(context);
108110
builder.setTitle("Choose a filter");
109111
builder.setItems(filters.names.toArray(new String[filters.names.size()]),
@@ -280,6 +282,10 @@ private static GPUImageFilter createFilterForType(final Context context, final F
280282
return new GPUImageFalseColorFilter();
281283
case COLOR_BALANCE:
282284
return new GPUImageColorBalanceFilter();
285+
case LEVELS_FILTER_MIN:
286+
GPUImageLevelsFilter levelsFilter = new GPUImageLevelsFilter();
287+
levelsFilter.setMin(0.0f, 3.0f, 1.0f);
288+
return levelsFilter;
283289

284290
default:
285291
throw new IllegalStateException("No filter of that type!");
@@ -308,7 +314,7 @@ private enum FilterType {
308314
BLEND_DISSOLVE, BLEND_EXCLUSION, BLEND_SOURCE_OVER, BLEND_HARD_LIGHT, BLEND_LIGHTEN, BLEND_ADD, BLEND_DIVIDE, BLEND_MULTIPLY, BLEND_OVERLAY, BLEND_SCREEN, BLEND_ALPHA,
309315
BLEND_COLOR, BLEND_HUE, BLEND_SATURATION, BLEND_LUMINOSITY, BLEND_LINEAR_BURN, BLEND_SOFT_LIGHT, BLEND_SUBTRACT, BLEND_CHROMA_KEY, BLEND_NORMAL, LOOKUP_AMATORKA,
310316
GAUSSIAN_BLUR, CROSSHATCH, BOX_BLUR, CGA_COLORSPACE, DILATION, KUWAHARA, RGB_DILATION, SKETCH, TOON, SMOOTH_TOON, BULGE_DISTORTION, GLASS_SPHERE, HAZE, LAPLACIAN, NON_MAXIMUM_SUPPRESSION,
311-
SPHERE_REFRACTION, SWIRL, WEAK_PIXEL_INCLUSION, FALSE_COLOR, COLOR_BALANCE
317+
SPHERE_REFRACTION, SWIRL, WEAK_PIXEL_INCLUSION, FALSE_COLOR, COLOR_BALANCE, LEVELS_FILTER_MIN
312318
}
313319

314320
private static class FilterList {
@@ -381,6 +387,8 @@ public FilterAdjuster(final GPUImageFilter filter) {
381387
adjuster = new SwirlAdjuster().filter(filter);
382388
} else if (filter instanceof GPUImageColorBalanceFilter) {
383389
adjuster = new ColorBalanceAdjuster().filter(filter);
390+
} else if (filter instanceof GPUImageLevelsFilter) {
391+
adjuster = new LevelsMinMidAdjuster().filter(filter);
384392
} else {
385393
adjuster = null;
386394
}
@@ -628,5 +636,12 @@ public void adjust(int percentage) {
628636
range(percentage / 3, 0.0f, 1.0f)});
629637
}
630638
}
639+
640+
private class LevelsMinMidAdjuster extends Adjuster<GPUImageLevelsFilter> {
641+
@Override
642+
public void adjust(int percentage) {
643+
getFilter().setMin(0.0f, range(percentage, 0.0f, 1.0f) , 1.0f);
644+
}
645+
}
631646
}
632647
}

0 commit comments

Comments
 (0)