В XCode в настоящее время нет такого рефакторинга.
, Если Вы хотели бы его, зарегистрируйте запрос улучшения .
BufferedImage img = ImageIO.read(new ByteArrayInputStream(bytes));
Если вы знаете тип изображения и хотите только создать файл, нет необходимости получать экземпляр BufferedImage. Просто запишите байты в файл с правильным расширением.
OutputStream out = null;
try {
out = new BufferedOutputStream(new FileOutputStream(path));
out.write(bytes);
} finally {
if (out != null) out.close();
}
Поскольку похоже, что вы уже знаете, в каком формате находится массив byte [] (например, RGB, ARGB, BGR и т. Д.), Вы можете использовать BufferedImage.setRGB (. ..) или комбинацию BufferedImage.getRaster () и WritableRaster.setPixels (...) или WritableRaster.setSamples (...) . К сожалению, оба этих метода требуют, чтобы вы преобразовали ваш byte [] в один из int [], float [] или double [] в зависимости от формата изображения.
Согласно документации Java, похоже, вам нужно использовать класс MemoryImageSource , чтобы поместить массив байтов в объект в памяти, а затем использовать Component.createImage ( ImageProducer) далее (передавая ваш MemoryImageSource, который реализует ImageProducer).