Различаются значения RGB между Android и Photoshop? - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть картинка в формате jpg:

enter image description here

И я хочу извлечь значение rgb из каждого пикселя, но я обнаружил, что значения отличаются от Android и Photoshop.

Как и первый пиксель (x = 0, y = 0), значение rgb, которое получил androidTest, составляет 216,231,238, в то время как Photoshop - 217,230,238.

enter image description here

Вот мои коды Android:

    InputStream inputStream =  appContext.getAssets().open("small_"+ pictureNum +".jpg");
    bitmap = BitmapFactory.decodeStream(inputStream);
    int width = bitmap.getWidth();
    int height = bitmap.getHeight();
    int color;
    int red, green, blue;

    List<Short> pixelList = new ArrayList<>();

    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height; y++) {
            color = bitmap.getPixel(x, y);

            pixelList.add((short) Color.red(color));
            pixelList.add((short) Color.green(color));
            pixelList.add((short) Color.blue(color));

        }
    }

Я использую Android Studio 3.1.2.

android {
compileSdkVersion 26



defaultConfig {
    minSdkVersion 16
    targetSdkVersion 26
    versionCode 1
    versionName "1.0"

    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}}
...