2012-02-02 2 views
0

Я разработал приложение, способное распознавать цвет выбранной области изображения. Он отлично работает для Android 2.2. Теперь я пытаюсь использовать его на устройствах 2.3. Чтобы он работал правильно на 2.2, мне пришлось преодолеть многие проблемы, вызванные сглаживанием, и формат битов экрана. Теперь у меня такая же проблема для 2.3, и я не знаю, что изобретать.getPixel на Android 2.3

color = mBitmap.getPixel((int)event.getX(), (int)event.getY()); 

Не вижу различий в цвете очень мало.

+0

так вот как вы это сделали в 2.2 и как вы пытаетесь в 2.3? – L7ColWinters

+0

Я использую тот же метод для обеих версий. Работы по 2.2 и 2.3 нет. Я использую уже Argb_8888 и непрозрачные пиксели для окна – user1169390

ответ

2

Обсуждение приводит меня к мысли (например, «Я вижу одно значение больше, чем оба»), что вы математически сравниваете значение ARGB с значением RGBA или что-то в этом роде. Знайте, что вы кодируете, особенно в том, что байт содержит компонент «альфа» и сравнивает цветовые компоненты, а не 32-битное значение.

+0

Точно. Экран RGBA и растровое изображение ARGB. В версии 2.2 все равно будет работать. Я также понимаю, что вы имеете в виду, но я понятия не имею, как это сделать. Вы можете получить некоторые ссылки? спасибо – user1169390

+1

Для ARGB у вас есть A = первые 8 бит, R = второй 8 бит, G = третий 8 бит, B = последние 8 бит. Для RGBA, A = последние 8 бит и т. Д. Извлеките цвета компонентов (каждый будет 8-битным числом, то есть 256 цветами) и сравните их. – CSmith

0

Что делать, если вы используете фильтр скользящей средней на изображении для проверки ближайших пикселей, это может помочь сгладить.

+0

Возможно, я не понял ваш ответ, но в любом случае лучше сделать разъяснение. Пиксели в выбранной области имеют одинаковый цвет. проблема состоит в том, что две области с двумя разными оттенками серого воспринимаются как имеющие один и тот же цвет. – user1169390

+0

http://www.mail-archive.com/[email protected]/msg38890.html преобразует растровое изображение в оттенки серого, и из этого вы могли видеть, есть ли разница? – L7ColWinters

+0

Я не создаю программно, но с фотошопом. Два цвета серых соседей Я вижу их как одно значение, большее, чем оба. – user1169390

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