Это мой код. Этот вопрос несколько связан с этим вопросом: Попытка масштабирования растровое изображение в Android не работает
Я закомментировал options.inSampleSize
, и я все еще получаю вращение (по-видимому, против часовой стрелки на 90 градусов). Это похоже на довольно простое уменьшение изображения из документации Google, и я не уверен, как я получаю повернутое изображение.
Bitmap myBitmap = null;
@Override
protected byte[] doInBackground(Object... params) {
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
//myImageByteArray is 4016 wide
myBitmap = BitmapFactory.decodeByteArray(myImageByteArray, 0, myImageByteArray.length, options);
if (options.outHeight > options.outWidth) {
//options.inSampleSize = calculateInSampleSize(options, 640, 960);
} else {
//options.inSampleSize = calculateInSampleSize(options, 960, 640);
}
options.inJustDecodeBounds = false;
//myImageByteArray is 4016 wide
myBitmap = BitmapFactory.decodeByteArray(myImageByteArray, 0, myImageByteArray.length, options);
//This log statement outputs around 1000 now.
Log.d("bitmap", myBitmap.getWidth()+"");
ByteArrayOutputStream bAOS = new ByteArrayOutputStream();
myBitmap.compress(CompressFormat.JPEG, 50, bAOS);
}
Байт[] изначально взят из библиотеки Commonsware CWAC Camera, и я попытался посмотреть по адресу: Android уменьшить размер изображения с камеры
ОБНОВИТЬ:
Я начал вытаскивать больше кода, чтобы попытаться сделать более очевидным, откуда может исходить это вращение. Я сузил это до этого. (Этот код по-прежнему вызывает вращение)
Bitmap myBitmap = null;
@Override
protected byte[] doInBackground(Object... params) {
final BitmapFactory.Options options = new BitmapFactory.Options();
myBitmap = BitmapFactory.decodeByteArray(myImageByteArray, 0, myImageByteArray.length, options);
ByteArrayOutputStream bAOS = new ByteArrayOutputStream();
myBitmap.compress(CompressFormat.JPEG, 50, bAOS);
}
.compress()
? - person   schedule 10.01.2014byte[] arr = bAOS.toByteArray();
и отправляю этот byte[] на сервер, показываю его, и он получается повернутым. Кроме того, @CommonsWare, ваша библиотека вернет байт [] с заголовком EXIF? - person   schedule 10.01.2014README
, проверены лично мной и моей армией обученных пыльных кроликов-убийц здесь, в моем Секретном горном логове (ТМ) (местоположение: секрет). У меня есть некоторые долгосрочные планы по упрощению предоставления информации о конфигурации устройства, подобной этой, но это стоит в очереди за выяснением более стабильной последовательности вызовов различных аппаратных API (чтобы попытаться устранить различные ошибки устройства), которые может оказать влияние на другие аспекты библиотеки. - person CommonsWare   schedule 10.01.2014