2016-05-17 8 views
0

Also ich habe ein großes Problem. Ich kann es seit Jahren nicht lösen, also bitte alle, die helfen können - es wäre erstaunlich. Also das Problem ist mit ColorMatrix. Wie Sie auf dem Bild sehen können, wenn ich den Effekt auf dem Foto hinzufüge und es in meinem Gedächtnis speichere, erhalte ich dieses Bild mit einer kleinen weißen Linie auf der linken Seite. Die lustige Tatsache ist, dass wenn ich den Kontrast zum Beispiel auf 7 erhöhe, diese Linie immer größer wird. Also das Problem, wie ich denke, ist mit Kontrast und Helligkeit. Wie auch immer, es funktioniert super und mit allem anderen bin ich zufrieden ... nur dieser eine Fehler, der mich eines Tages umbringen wird. Irgendeine Hilfe? Mein Code:Weiße Linie Bug mit Colormatrix

public void effect(View view) { 
    float contrast = 1; 
    float brightness = 0; 


    Bitmap.Config config = bmp.getConfig(); 
    if (config == null) { 
     config = Bitmap.Config.ARGB_8888; 
    } 

    operation = Bitmap.createBitmap(bmp.getWidth(), bmp.getHeight(), config); 


    ColorMatrix cm = new ColorMatrix(new float[] 
      { 
        contrast, 0, 0, 0, brightness, 
        0, contrast, 0, 0, brightness, 
        0, 0, contrast, 0, brightness, 
        0, 0, 0, 1, 0, 
        0, 0, 0, 0, 1 
      }); 
    Canvas canvas = new Canvas(operation); 

    Paint paint = new Paint(); 
    paint.setColorFilter(new ColorMatrixColorFilter(cm)); 
    canvas.drawBitmap(bmp, contrast, brightness, paint); 

    imageview.setImageBitmap(operation); 


} 

IMAGE OF BUG. The white line in the left

Wer dabei helfen wird. DANKE!

+0

was die verborgene Idee ist vorbei 'contrast' und' brightness' als 'X' und 'Y' in 'canvas.drawBitmap (bmp, Kontrast, Helligkeit, Farbe)' ? – pskink

+0

@pskink Ich habe in der Schule gelernt, dass ich am Ende so schreiben muss. Was ist dein Angebot? Ich wäre wirklich dankbar, wenn Sie Ihre Gedanken teilen würden, wie Sie das lösen können. – BENZG55

Antwort

0

Also ich möchte die Antwort auf mein Problem posten. Ich war so dumm ..- x und y müssen 0 0 sein, anstatt Kontrast und Helligkeit zu schreiben.

Gelöst line:

canvas.drawBitmap(bmp, 0, 0, paint);