Медленное преобразование байтового массива в буферизованное изображение
У меня есть простой серверный код, который получает байтовый массив, представляющий изображение в формате JPEG, и возвращает размеры изображения.
public String processImage(byte[] data) {
long startTime = System.currentTimeMillis();
ByteArrayInputStream stream = new ByteArrayInputStream(data);
BufferedImage bufferedImage;
bufferedImage = ImageIO.read(stream);
int height = bufferedImage.getHeight();
int width = bufferedImage.getWidth();
long endTime = System.currentTimeMillis();
return "height="+height+" | width="+width+" | elapsed="+(endTime-startTime);
}
Это работает, но проблема в том, чтонедопустимо медленно. Для изображения, которое100 КБ, этос 6с. Для изображения, котороес 900KB, этос 30-х годов. Это ожидается? Есть ли способ сделать преобразование байтового массива в bufferedImage быстрее?
К вашему сведению, высота / ширина захватаэто единственное, что я собираюсь сделать. В конце концов я хочу обработать bufferedImage. Таким образом, получение высоты / ширины было просто примером кода.