2011-12-26 19 views

Respuesta

0

para convertir la imagen a dibujo a lápiz es necesario aplicar 3 filtros

  1. GRAYSCALE FILTRO

  2. INVERTIR LOS COLORES

  3. GAUSSIAN BLUR

después de aplicar con éxito estos filtros utilizan la función colordodgeblend para hacer el lápiz como el boceto

escala de grises filtro

ColorMatrix matrix = new ColorMatrix(); 
matrix.setSaturation(0); 

ColorMatrixColorFilter filter = new ColorMatrixColorFilter(matrix); 
imgView.setColorFilter(filter); 

CÓDIGO DE APLICAR INVERTIR FILTRO

float[] colorMatrix_Negative = { 
     -1.0f, 0, 0, 0, 255, //red 
     0, -1.0f, 0, 0, 255, //green 
     0, 0, -1.0f, 0, 255, //blue 
     0, 0, 0, 1.0f, 0 //alpha}; 
ColorMatrix colorMatrix = new ColorMatrix(); 
colorMatrix.set(colorMatrix_Negative); 

ColorFilter colorFilter_Negative = new ColorMatrixColorFilter(colorMatrix_Negative); 

CÓDIGO DE desenfoque gaussiano

public static Bitmap applyGaussianBlur(Bitmap src) { 

    double[][] GaussianBlurConfig = new double[][]{ 
      {-1, 0, -1}, 
      {0, 4, 0}, 
      {-1, 0, -1} 
    }; 

    ConvolutionMatrix convMatrix = new ConvolutionMatrix(3); 

    convMatrix.applyConfig(GaussianBlurConfig); 
    convMatrix.Factor = 1; 
    convMatrix.Offset = 150; 
    //return out put bitmap return ConvolutionMatrix.computeConvolution3x3(src, convMatrix); 
} 

for more reference

Cuestiones relacionadas