Изменить размер до наибольшего возможного изображения при сохранении соотношенияJAVA

Программисты JAVA общаются здесь
Anonymous
Изменить размер до наибольшего возможного изображения при сохранении соотношения

Сообщение Anonymous »

Иногда мои изображения слишком велики, и я получаю эту ошибку: < /p>


Исключение в потоке "Main" java.lang.negativeArraysizexception at
java.awt.image.databufferbyte. (неизвестный источник) в
java.awt.image.raster.createInterleeDraster (неизвестный источник) at
java.awt.image.bufferedImage. (неизвестный источник) < /p>
< /blockquote>

, когда я получаю это, я хочу отрегулировать свой изображение к наибольшему возможному размеру, когда он получает высокий уровень. /> Я закончил со следующими формулами: < /p>

if ( targetWidth * targetHeight >= Integer.MAX_VALUE || targetWidth * targetHeight < 0 ) {
System.out.println( "Target image too big... Size will be adjusted!" );
if ( targetWidth > targetHeight ) {
targetWidth = (int)Math.sqrt( ( Integer.MAX_VALUE ) * (float)( targetWidth / targetHeight ) );
targetHeight = ( Integer.MAX_VALUE ) / targetWidth;
} else {
targetHeight = (int)Math.sqrt( ( Integer.MAX_VALUE ) * (float)( targetHeight / targetWidth ) );
targetWidth = ( Integer.MAX_VALUE ) / targetHeight;
}
}
< /code>

Я все еще получаю такую же проблему, и мои условия удовлетворены.
Я думаю, что < /p>


width * height
< /> blockquote>

not not sonders> not not sonders> not sonders> not not sonders> not not sonding> not sonders < /p>. /> Есть помощь? < /P>

Редактировать: после некоторого обсуждения я думаю, что реальный вопрос к этой проблеме:
Какой самый большой размер я могу передать конструктору BuffereMage, чтобы не получить негативное java.awt.image.databufferbyte. (неизвестный источник)


Подробнее здесь: https://stackoverflow.com/questions/377 ... -the-ratio

Вернуться в «JAVA»