Я не могу найти решение для моей проблемы, надеюсь, что вы можете мне помочь. У меня есть буферное изображение (например, img), и я хочу изменить его размер (с его массивом пикселей), чтобы он соответствовал точно 100px (100 x 100). Все решения, которые я нашел, предназначены только для «растяжения» изображения при рисовании, но мне действительно нужен массив. Я думал об алгоритме и попытался это одно:BufferedImage алгоритм изменения размера
BufferedImage resized = new BufferedImage(100,100,BufferedImage.TYPE_INT_ARGB);
for(int i = 0; i < img.getWidth(); i++){
for(int j = 0; j < img.getHeight(); j++){
resized.setRGB(i*(100/img.getWidth()), j*(100/img.getHeight()), img.getRGB(i, j));
}
}
Я не могу объяснить это (ну, не на английском языке), что он делает, но я думаю, что вы можете видеть это легко (для каждого пикселя в исходном изображении (img), поместил его в новый BufferedImage (измененный размер) в постинге (коэффициент статической позиции *). (надеюсь, это было хорошее описание). Но, однако, он не работает, я получаю только нули :( Может кто-нибудь скажите мне, что изменить или дать мне другой пример для алгоритма? (не имеет значения, насколько это быстро, если я это понимаю)
(Я действительно надеюсь, что это не repost, потому что я действительно не мог f Ind другая проблема/решение, которое направлено на изменение размера массива: /)
Приветствия :)
Я не специалист по изображениям, но я думаю, что вы проделаете это несколько назад. Попробуйте выполнить «i» и «j» над индексами «resized» от 0 до 100. Затем установите «resized [i] [j]» в один из пикселей из «img», используя ваши коэффициенты масштабирования. –
Является ли это дубликатом этого вопроса? http://stackoverflow.com/questions/9417356/bufferedimage-resize –
Даже если вам «действительно нужен массив» (который я не вижу, почему, из вашего кода), будет гораздо быстрее * просто использовать ' AffineTransformOp' и проведите изображение вниз, используя 'TYPE_NEAREST_NEIGHBOR'.Вы все равно можете получить массив поддержки из полученного изображения, если вам нужно. – haraldK