Ich möchte die Helligkeit eines Bildes auf SeekBar OnProgres change event? Ich zeige ein Bild in imageview und darunter gibt es eine SeekBar, um die Helligkeit eines Bildes zu ändern.
1) Ich verwende folgende Funktion, um die Helligkeit einzustellen
private static void setBrightness(ColorMatrix cm, float contrast) {
float scale = contrast + 1.f;
float translate = (-.5f * scale + .5f) * 255.f;
cm.set(new float[] {
1, 0, 0, 0, translate,
0, 1, 0, 0, translate,
0, 0, 1, 0, translate,
0, 0, 0, 1, 0 });
}
2) Ich konnte die Helligkeit eines Bildes mit folgendem Code einstellen
@Override protected void onDraw(Canvas canvas) {
Paint paint = mPaint;
float x = 20;
float y = 20;
float[]pos={5,5};
canvas.drawColor(Color.WHITE);
paint.setColorFilter(null);
canvas.drawText("Original Image", 5,20, paint);
canvas.drawBitmap(mBitmap, x, y, paint);
ColorMatrix cm = new ColorMatrix();
mAngle += 2;
if (mAngle > 180) {
mAngle = 0;
}
//convert our animated angle [-180...180] to a contrast value of [-1..1]
float contrast = mAngle / 180.f;
canvas.drawText("Brightness", 5,y + 60, paint);
setBrightness(cm, contrast);//Brightness
paint.setColorFilter(new ColorMatrixColorFilter(cm));
canvas.drawBitmap(mBitmap, x ,y + mBitmap.getWidth() + 10, paint);
invalidate();
}
3) Jetzt möchte ich die Helligkeit eines Bildes auf SeekBar OnProgress Change-Ereignis zu ändern, aber für, dass ich eine Beziehung zwischen ColorMatrix und Bitmap haben müssen.
Ich möchte kein Bild zeichnen, sondern ein vorhandenes Bild verändern, d.h. ich zeige ein Bild in imageview und darunter befindet sich eine SeekBar, um die Helligkeit eines Bildes zu verändern.
Bitte helfen Sie mir, die Helligkeit eines Bildes zu ändern onSeekBar Progressed change event.