2011-01-21 4 views
4

Я разрабатываю программное обеспечение для обработки изображений в android.i, чтобы изменить яркость конкретного изображения. Как это можно сделать в коде?Как изменить яркость изображения в Android?

+1

Переполнение стека не является кодовым письмом. У вас есть какая-то реализация? Есть идеи? Любой код, который вы уже используете? Где именно в этом процессе вы застряли? – slhck

+0

На самом деле все было не так уж плохо. – hpique

+1

@slhck проделать свою работу, если вы не знаете, как это сделать, пожалуйста, не показывайте, как отец отпадает от вас. –

ответ

3

Вы, наверное, хотите посмотреть на LightingColorFilter и Drawable, или если вы хотите, чтобы выполнить манипуляции вручную, посмотрите на Bitmap - специфически getPixels и setPixels (или copyPixelsFromBuffer и copyPixelsToBuffer, если вы хотите).

+0

, этот ответ хорош. но трудно понять, как использовать выше методы без примеров .. ссылка будет полезна. – beginners

7

Я использую что-то вроде этого в данный момент:

if (brighter) 
{ 
    darknessPaint.setColorFilter(new PorterDuffColorFilter(Color.argb(level, 255, 255, 255), Mode.SRC_OVER)); 
} 
else 
{ 
    darknessPaint.setColorFilter(new PorterDuffColorFilter(Color.argb(level, 0, 0, 0), Mode.SRC_ATOP)); 
} 

darknessCanvas.setBitmap(dst); 
darknessCanvas.drawBitmap(src, 0, 0, darknessPaint); 

Действительно, вы могли бы использовать LightningColorFilter слишком или ColorMatrixColorFilter. Если у кого-то есть лучшее (и, следовательно, я имею в виду быстрее, помимо использования JNI, который я еще не пробовал), пожалуйста, дайте мне знать.

Смежные вопросы