我有jpg格式图片:
我想从每个像素中提取rgb值,但我发现这些值与Android和Photoshop不同。
与第一个像素(x = 0,y = 0)一样,androidTest获得的rgb值为216,231,238,而photoshop为217,230,238。
以下是我的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'
}
}}