2015-04-18 3 views
0

Могу ли я попросить кого-нибудь просмотреть мой код, пожалуйста. Это приложение для Android, которое смотрит на пиксели в центре растрового изображения и отображает значения для пользователя. Результаты кажутся неточными, когда я смотрю их онлайн, часто появляются голубоватые или черные. Что-то не хватает в коде? мне нужно что-то сделать для изображения в xml или вы думаете, что это связано с аппаратными средствами телефона? Iv примерил м2 сони и и мини сониgetpixel RGB точность цвета

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(requestCode, resultCode, data); 
    Bitmap bp = (Bitmap) data.getExtras().get("data"); 
    imgFavorite.setImageBitmap(bp); 
} 

public void pix(){ 
    operation= Bitmap.createBitmap(bmp.getWidth(), 
      bmp.getHeight(),bmp.getConfig()); 

    int height = bmp.getHeight(); 
    int width = bmp.getWidth(); 
    int p = bmp.getPixel(height/2, width/2); 

    int r = Color.red(p); 
    int g = Color.green(p); 
    int b = Color.blue(p); 

    Toast.makeText(this, String.valueOf(r) + String.valueOf(g) + String.valueOf(b), Toast.LENGTH_LONG).show(); 
} 
+0

Что кажется неточным? Способ отображения изображения в imgFavorite или значениях r, g, b? – inmyth

+0

Основная проблема - это значения rgb, хотя внешний вид изображения немного неактивен, поскольку он заполняет изображение на меньшем мини-мини-мини, но по какой-то причине занимает прямоугольную форму в более крупном sony m2 – leo666

ответ

0

изображения может выглядеть по-разному на различных устройствах или настройке дисплея, но эти пиксели должны оставаться такими же. Поэтому вы можете попробовать заменить bmp.getConfig() на Bitmap.Config.ARGB_8888 или пару других конфигураций от Bitmap.Config. Эта конфигурация определяет, как пиксели сохраняются и влияет на глубину цвета.

Если ваше изображение не заполняет контейнер ImageView, это, вероятно, проблема масштаба.

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