Я пытаюсь вывести сгенерированное изображение с помощью Play. Я не уверен, что моя проблема связана с Play-specific или нет. Я пытаюсь сделать то же самое, это PHP код делает:Отправлено сгенерированное изображение в браузер с помощью Play framework
header("Content-type: Image/png");
$map = imagecreatefrompng("$_SESSION[ROOT]/it/cabling/maps/${building}_$floor.png");
... // add annotations
imagepng($map);
Похоже, мне нужно использовать renderBinary
, но я не уверен, как получить от BufferedImage
к InputStream
, что renderBinary
хочет в качестве своего аргумент.
Application.map
действие:
public static void map(String building_code, String ts_code) throws IOException {
BufferedImage image = ImageIO.read(new File("public/images/maps/" + building_code + "_" + ts_code.charAt(0)));
... // Overlay some additional information on the image
// do some sort of conversion
renderBinary(inputStream);
}
Почему вы создаете ImageInputStream, он не используется позже? –
@ AlexanderKjäll еще один артефакт перенесен из метода, который я скопировал - я не был уверен, что он сделал, поэтому я просто оставил его, предполагая, что у авторов рамок есть причина для этого. Вы, конечно же, можете попытаться удалить его. –