2011-12-26 22 views

risposta

0

per convertire l'immagine di disegno a matita è necessario applicare 3 filtri

  1. GRAYSCALE FILTRO

  2. INVERT THE COLORS

  3. GAUSSIAN BLUR

dopo l'applicazione con successo questi filtri Utilizzare la funzione colordodgeblend di fare a matita come schizzo

scala di grigi filtro

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

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

codice per applicare INVERT 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); 

CODICE PER sfocatura gaussiana

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

Problemi correlati