Search in sources :

Example 1 with GPUImageFilter

use of jp.co.cyberagent.android.gpuimage.GPUImageFilter in project StickerCamera by Skykai521.

the class GPUImageFilterTools method createFilterForType.

public static GPUImageFilter createFilterForType(final Context context, final FilterType type) {
    GPUImageToneCurveFilter curveFilter = new GPUImageToneCurveFilter();
    switch(type) {
        case NORMAL:
            return new GPUImageFilter();
        case ACV_AIMEI:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.aimei));
            return curveFilter;
        case ACV_DANLAN:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.danlan));
            return curveFilter;
        case ACV_DANHUANG:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.danhuang));
            return curveFilter;
        case ACV_FUGU:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.fugu));
            return curveFilter;
        case ACV_GAOLENG:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.gaoleng));
            return curveFilter;
        case ACV_HUAIJIU:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.huaijiu));
            return curveFilter;
        case ACV_JIAOPIAN:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.jiaopian));
            return curveFilter;
        case ACV_KEAI:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.keai));
            return curveFilter;
        case ACV_LOMO:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.lomo));
            return curveFilter;
        case ACV_MORENJIAQIANG:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.morenjiaqiang));
            return curveFilter;
        case ACV_NUANXIN:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.nuanxin));
            return curveFilter;
        case ACV_QINGXIN:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.qingxin));
            return curveFilter;
        case ACV_RIXI:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.rixi));
            return curveFilter;
        case ACV_WENNUAN:
            curveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.wennuan));
            return curveFilter;
        case CONTRAST:
            return new GPUImageContrastFilter(2.0f);
        case GAMMA:
            return new GPUImageGammaFilter(2.0f);
        case INVERT:
            return new GPUImageColorInvertFilter();
        case PIXELATION:
            return new GPUImagePixelationFilter();
        case HUE:
            return new GPUImageHueFilter(90.0f);
        case BRIGHTNESS:
            return new GPUImageBrightnessFilter(1.5f);
        case GRAYSCALE:
            return new GPUImageGrayscaleFilter();
        case SEPIA:
            return new GPUImageSepiaFilter();
        case SHARPEN:
            GPUImageSharpenFilter sharpness = new GPUImageSharpenFilter();
            sharpness.setSharpness(2.0f);
            return sharpness;
        case SOBEL_EDGE_DETECTION:
            return new GPUImageSobelEdgeDetection();
        case THREE_X_THREE_CONVOLUTION:
            GPUImage3x3ConvolutionFilter convolution = new GPUImage3x3ConvolutionFilter();
            convolution.setConvolutionKernel(new float[] { -1.0f, 0.0f, 1.0f, -2.0f, 0.0f, 2.0f, -1.0f, 0.0f, 1.0f });
            return convolution;
        case EMBOSS:
            return new GPUImageEmbossFilter();
        case POSTERIZE:
            return new GPUImagePosterizeFilter();
        case FILTER_GROUP:
            List<GPUImageFilter> filters = new LinkedList<GPUImageFilter>();
            filters.add(new GPUImageContrastFilter());
            filters.add(new GPUImageDirectionalSobelEdgeDetectionFilter());
            filters.add(new GPUImageGrayscaleFilter());
            return new GPUImageFilterGroup(filters);
        case SATURATION:
            return new GPUImageSaturationFilter(1.0f);
        case EXPOSURE:
            return new GPUImageExposureFilter(0.0f);
        case HIGHLIGHT_SHADOW:
            return new GPUImageHighlightShadowFilter(0.0f, 1.0f);
        case MONOCHROME:
            return new GPUImageMonochromeFilter(1.0f, new float[] { 0.6f, 0.45f, 0.3f, 1.0f });
        case OPACITY:
            return new GPUImageOpacityFilter(1.0f);
        case RGB:
            return new GPUImageRGBFilter(1.0f, 1.0f, 1.0f);
        case WHITE_BALANCE:
            return new GPUImageWhiteBalanceFilter(5000.0f, 0.0f);
        case VIGNETTE:
            PointF centerPoint = new PointF();
            centerPoint.x = 0.5f;
            centerPoint.y = 0.5f;
            return new GPUImageVignetteFilter(centerPoint, new float[] { 0.0f, 0.0f, 0.0f }, 0.3f, 0.75f);
        case TONE_CURVE:
            GPUImageToneCurveFilter toneCurveFilter = new GPUImageToneCurveFilter();
            toneCurveFilter.setFromCurveFileInputStream(context.getResources().openRawResource(R.raw.tone_cuver_sample));
            return toneCurveFilter;
        case BLEND_DIFFERENCE:
            return createBlendFilter(context, GPUImageDifferenceBlendFilter.class);
        case BLEND_SOURCE_OVER:
            return createBlendFilter(context, GPUImageSourceOverBlendFilter.class);
        case BLEND_COLOR_BURN:
            return createBlendFilter(context, GPUImageColorBurnBlendFilter.class);
        case BLEND_COLOR_DODGE:
            return createBlendFilter(context, GPUImageColorDodgeBlendFilter.class);
        case BLEND_DARKEN:
            return createBlendFilter(context, GPUImageDarkenBlendFilter.class);
        case BLEND_DISSOLVE:
            return createBlendFilter(context, GPUImageDissolveBlendFilter.class);
        case BLEND_EXCLUSION:
            return createBlendFilter(context, GPUImageExclusionBlendFilter.class);
        case BLEND_HARD_LIGHT:
            return createBlendFilter(context, GPUImageHardLightBlendFilter.class);
        case BLEND_LIGHTEN:
            return createBlendFilter(context, GPUImageLightenBlendFilter.class);
        case BLEND_ADD:
            return createBlendFilter(context, GPUImageAddBlendFilter.class);
        case BLEND_DIVIDE:
            return createBlendFilter(context, GPUImageDivideBlendFilter.class);
        case BLEND_MULTIPLY:
            return createBlendFilter(context, GPUImageMultiplyBlendFilter.class);
        case BLEND_OVERLAY:
            return createBlendFilter(context, GPUImageOverlayBlendFilter.class);
        case BLEND_SCREEN:
            return createBlendFilter(context, GPUImageScreenBlendFilter.class);
        case BLEND_ALPHA:
            return createBlendFilter(context, GPUImageAlphaBlendFilter.class);
        case BLEND_COLOR:
            return createBlendFilter(context, GPUImageColorBlendFilter.class);
        case BLEND_HUE:
            return createBlendFilter(context, GPUImageHueBlendFilter.class);
        case BLEND_SATURATION:
            return createBlendFilter(context, GPUImageSaturationBlendFilter.class);
        case BLEND_LUMINOSITY:
            return createBlendFilter(context, GPUImageLuminosityBlendFilter.class);
        case BLEND_LINEAR_BURN:
            return createBlendFilter(context, GPUImageLinearBurnBlendFilter.class);
        case BLEND_SOFT_LIGHT:
            return createBlendFilter(context, GPUImageSoftLightBlendFilter.class);
        case BLEND_SUBTRACT:
            return createBlendFilter(context, GPUImageSubtractBlendFilter.class);
        case BLEND_CHROMA_KEY:
            return createBlendFilter(context, GPUImageChromaKeyBlendFilter.class);
        case BLEND_NORMAL:
            return createBlendFilter(context, GPUImageNormalBlendFilter.class);
        case LOOKUP_AMATORKA:
            GPUImageLookupFilter amatorka = new GPUImageLookupFilter();
            amatorka.setBitmap(BitmapFactory.decodeResource(context.getResources(), R.drawable.lookup_amatorka));
            return amatorka;
        case GAUSSIAN_BLUR:
            return new GPUImageGaussianBlurFilter();
        case CROSSHATCH:
            return new GPUImageCrosshatchFilter();
        case BOX_BLUR:
            return new GPUImageBoxBlurFilter();
        case CGA_COLORSPACE:
            return new GPUImageCGAColorspaceFilter();
        case DILATION:
            return new GPUImageDilationFilter();
        case KUWAHARA:
            return new GPUImageKuwaharaFilter();
        case RGB_DILATION:
            return new GPUImageRGBDilationFilter();
        case SKETCH:
            return new GPUImageSketchFilter();
        case TOON:
            return new GPUImageToonFilter();
        case SMOOTH_TOON:
            return new GPUImageSmoothToonFilter();
        case BULGE_DISTORTION:
            return new GPUImageBulgeDistortionFilter();
        case GLASS_SPHERE:
            return new GPUImageGlassSphereFilter();
        case HAZE:
            return new GPUImageHazeFilter();
        case LAPLACIAN:
            return new GPUImageLaplacianFilter();
        case NON_MAXIMUM_SUPPRESSION:
            return new GPUImageNonMaximumSuppressionFilter();
        case SPHERE_REFRACTION:
            return new GPUImageSphereRefractionFilter();
        case SWIRL:
            return new GPUImageSwirlFilter();
        case WEAK_PIXEL_INCLUSION:
            return new GPUImageWeakPixelInclusionFilter();
        case FALSE_COLOR:
            return new GPUImageFalseColorFilter();
        case COLOR_BALANCE:
            return new GPUImageColorBalanceFilter();
        default:
            throw new IllegalStateException("No filter of that type!");
    }
}
Also used : GPUImageGlassSphereFilter(jp.co.cyberagent.android.gpuimage.GPUImageGlassSphereFilter) GPUImageBrightnessFilter(jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter) GPUImageEmbossFilter(jp.co.cyberagent.android.gpuimage.GPUImageEmbossFilter) PointF(android.graphics.PointF) GPUImage3x3ConvolutionFilter(jp.co.cyberagent.android.gpuimage.GPUImage3x3ConvolutionFilter) GPUImageDirectionalSobelEdgeDetectionFilter(jp.co.cyberagent.android.gpuimage.GPUImageDirectionalSobelEdgeDetectionFilter) GPUImageBulgeDistortionFilter(jp.co.cyberagent.android.gpuimage.GPUImageBulgeDistortionFilter) GPUImageSobelEdgeDetection(jp.co.cyberagent.android.gpuimage.GPUImageSobelEdgeDetection) GPUImagePixelationFilter(jp.co.cyberagent.android.gpuimage.GPUImagePixelationFilter) GPUImageMonochromeFilter(jp.co.cyberagent.android.gpuimage.GPUImageMonochromeFilter) GPUImageFilterGroup(jp.co.cyberagent.android.gpuimage.GPUImageFilterGroup) GPUImageColorInvertFilter(jp.co.cyberagent.android.gpuimage.GPUImageColorInvertFilter) LinkedList(java.util.LinkedList) GPUImageWeakPixelInclusionFilter(jp.co.cyberagent.android.gpuimage.GPUImageWeakPixelInclusionFilter) GPUImageFilter(jp.co.cyberagent.android.gpuimage.GPUImageFilter) GPUImageGrayscaleFilter(jp.co.cyberagent.android.gpuimage.GPUImageGrayscaleFilter) GPUImageSmoothToonFilter(jp.co.cyberagent.android.gpuimage.GPUImageSmoothToonFilter) GPUImageSaturationFilter(jp.co.cyberagent.android.gpuimage.GPUImageSaturationFilter) GPUImageSphereRefractionFilter(jp.co.cyberagent.android.gpuimage.GPUImageSphereRefractionFilter) GPUImageRGBDilationFilter(jp.co.cyberagent.android.gpuimage.GPUImageRGBDilationFilter) GPUImageFalseColorFilter(jp.co.cyberagent.android.gpuimage.GPUImageFalseColorFilter) GPUImageExposureFilter(jp.co.cyberagent.android.gpuimage.GPUImageExposureFilter) GPUImageRGBFilter(jp.co.cyberagent.android.gpuimage.GPUImageRGBFilter) GPUImageBoxBlurFilter(jp.co.cyberagent.android.gpuimage.GPUImageBoxBlurFilter) GPUImageHighlightShadowFilter(jp.co.cyberagent.android.gpuimage.GPUImageHighlightShadowFilter) GPUImageGaussianBlurFilter(jp.co.cyberagent.android.gpuimage.GPUImageGaussianBlurFilter) GPUImageCrosshatchFilter(jp.co.cyberagent.android.gpuimage.GPUImageCrosshatchFilter) GPUImageSharpenFilter(jp.co.cyberagent.android.gpuimage.GPUImageSharpenFilter) GPUImagePosterizeFilter(jp.co.cyberagent.android.gpuimage.GPUImagePosterizeFilter) GPUImageColorBalanceFilter(jp.co.cyberagent.android.gpuimage.GPUImageColorBalanceFilter) GPUImageVignetteFilter(jp.co.cyberagent.android.gpuimage.GPUImageVignetteFilter) GPUImageToonFilter(jp.co.cyberagent.android.gpuimage.GPUImageToonFilter) GPUImageGammaFilter(jp.co.cyberagent.android.gpuimage.GPUImageGammaFilter) GPUImageNonMaximumSuppressionFilter(jp.co.cyberagent.android.gpuimage.GPUImageNonMaximumSuppressionFilter) GPUImageSwirlFilter(jp.co.cyberagent.android.gpuimage.GPUImageSwirlFilter) GPUImageCGAColorspaceFilter(jp.co.cyberagent.android.gpuimage.GPUImageCGAColorspaceFilter) GPUImageContrastFilter(jp.co.cyberagent.android.gpuimage.GPUImageContrastFilter) GPUImageWhiteBalanceFilter(jp.co.cyberagent.android.gpuimage.GPUImageWhiteBalanceFilter) GPUImageHueFilter(jp.co.cyberagent.android.gpuimage.GPUImageHueFilter) GPUImageOpacityFilter(jp.co.cyberagent.android.gpuimage.GPUImageOpacityFilter) GPUImageSepiaFilter(jp.co.cyberagent.android.gpuimage.GPUImageSepiaFilter) GPUImageSketchFilter(jp.co.cyberagent.android.gpuimage.GPUImageSketchFilter) GPUImageHazeFilter(jp.co.cyberagent.android.gpuimage.GPUImageHazeFilter) GPUImageLookupFilter(jp.co.cyberagent.android.gpuimage.GPUImageLookupFilter) GPUImageToneCurveFilter(jp.co.cyberagent.android.gpuimage.GPUImageToneCurveFilter) GPUImageDilationFilter(jp.co.cyberagent.android.gpuimage.GPUImageDilationFilter) GPUImageLaplacianFilter(jp.co.cyberagent.android.gpuimage.GPUImageLaplacianFilter) GPUImageKuwaharaFilter(jp.co.cyberagent.android.gpuimage.GPUImageKuwaharaFilter)

Example 2 with GPUImageFilter

use of jp.co.cyberagent.android.gpuimage.GPUImageFilter in project StickerCamera by Skykai521.

the class PhotoProcessActivity method initFilterToolBar.

//初始化滤镜
private void initFilterToolBar() {
    final List<FilterEffect> filters = EffectService.getInst().getLocalFilters();
    final FilterAdapter adapter = new FilterAdapter(PhotoProcessActivity.this, filters, smallImageBackgroud);
    bottomToolBar.setAdapter(adapter);
    bottomToolBar.setOnItemClickListener(new it.sephiroth.android.library.widget.AdapterView.OnItemClickListener() {

        @Override
        public void onItemClick(it.sephiroth.android.library.widget.AdapterView<?> arg0, View arg1, int arg2, long arg3) {
            labelSelector.hide();
            if (adapter.getSelectFilter() != arg2) {
                adapter.setSelectFilter(arg2);
                GPUImageFilter filter = GPUImageFilterTools.createFilterForType(PhotoProcessActivity.this, filters.get(arg2).getType());
                mGPUImageView.setFilter(filter);
                GPUImageFilterTools.FilterAdjuster mFilterAdjuster = new GPUImageFilterTools.FilterAdjuster(filter);
                //可调节颜色的滤镜
                if (mFilterAdjuster.canAdjust()) {
                //mFilterAdjuster.adjust(100); 给可调节的滤镜选一个合适的值
                }
            }
        }
    });
}
Also used : FilterAdapter(com.stickercamera.app.camera.adapter.FilterAdapter) GridView(android.widget.GridView) InjectView(butterknife.InjectView) HListView(it.sephiroth.android.library.widget.HListView) View(android.view.View) MyHighlightView(com.customview.MyHighlightView) TextView(android.widget.TextView) GPUImageView(jp.co.cyberagent.android.gpuimage.GPUImageView) LabelView(com.customview.LabelView) FilterEffect(com.stickercamera.app.camera.effect.FilterEffect) GPUImageFilterTools(com.stickercamera.app.camera.util.GPUImageFilterTools) GPUImageFilter(jp.co.cyberagent.android.gpuimage.GPUImageFilter)

Example 3 with GPUImageFilter

use of jp.co.cyberagent.android.gpuimage.GPUImageFilter in project StickerCamera by Skykai521.

the class FilterAdapter method getView.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    EffectHolder holder = null;
    if (convertView == null) {
        LayoutInflater layoutInflater = LayoutInflater.from(mContext);
        convertView = layoutInflater.inflate(R.layout.item_bottom_filter, null);
        holder = new EffectHolder();
        holder.filteredImg = (GPUImageView) convertView.findViewById(R.id.small_filter);
        holder.filterName = (TextView) convertView.findViewById(R.id.filter_name);
        convertView.setTag(holder);
    } else {
        holder = (EffectHolder) convertView.getTag();
    }
    final FilterEffect effect = (FilterEffect) getItem(position);
    holder.filteredImg.setImage(background);
    holder.filterName.setText(effect.getTitle());
    //if (!effect.isOri() && effect.getType() != null) {
    GPUImageFilter filter = GPUImageFilterTools.createFilterForType(mContext, effect.getType());
    holder.filteredImg.setFilter(filter);
    return convertView;
}
Also used : GPUImageFilter(jp.co.cyberagent.android.gpuimage.GPUImageFilter) LayoutInflater(android.view.LayoutInflater) FilterEffect(com.stickercamera.app.camera.effect.FilterEffect)

Aggregations

GPUImageFilter (jp.co.cyberagent.android.gpuimage.GPUImageFilter)3 FilterEffect (com.stickercamera.app.camera.effect.FilterEffect)2 PointF (android.graphics.PointF)1 LayoutInflater (android.view.LayoutInflater)1 View (android.view.View)1 GridView (android.widget.GridView)1 TextView (android.widget.TextView)1 InjectView (butterknife.InjectView)1 LabelView (com.customview.LabelView)1 MyHighlightView (com.customview.MyHighlightView)1 FilterAdapter (com.stickercamera.app.camera.adapter.FilterAdapter)1 GPUImageFilterTools (com.stickercamera.app.camera.util.GPUImageFilterTools)1 HListView (it.sephiroth.android.library.widget.HListView)1 LinkedList (java.util.LinkedList)1 GPUImage3x3ConvolutionFilter (jp.co.cyberagent.android.gpuimage.GPUImage3x3ConvolutionFilter)1 GPUImageBoxBlurFilter (jp.co.cyberagent.android.gpuimage.GPUImageBoxBlurFilter)1 GPUImageBrightnessFilter (jp.co.cyberagent.android.gpuimage.GPUImageBrightnessFilter)1 GPUImageBulgeDistortionFilter (jp.co.cyberagent.android.gpuimage.GPUImageBulgeDistortionFilter)1 GPUImageCGAColorspaceFilter (jp.co.cyberagent.android.gpuimage.GPUImageCGAColorspaceFilter)1 GPUImageColorBalanceFilter (jp.co.cyberagent.android.gpuimage.GPUImageColorBalanceFilter)1