当前位置: 首页 > 面试题库 >

使用Play框架将生成的图像发送到浏览器

鲁财
2023-03-14
问题内容

我正在尝试使用Play输出生成的图像。我不确定我的问题是否特定于Play。我正在尝试执行以下PHP代码相同的操作:

header("Content-type: Image/png");
$map = imagecreatefrompng("$_SESSION[ROOT]/it/cabling/maps/${building}_$floor.png");
... // add annotations
imagepng($map);

它看起来像我需要使用renderBinary的,但我不知道如何从获取BufferedImageInputStream的是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);
}

问题答案:

我在源代码中找到了Images.Captcha导致该解决方案的示例:

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) + ".png"));
    ... // add annotations
    ImageInputStream is = ImageIO.createImageInputStream(image);
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write(image, "png", baos);
    ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
    Response.current().contentType = "image/png";

    renderBinary(bais);
}

<img id="map" src="@{Application.map(ts.building.code, ts.code)}" width="100%">在视图模板中使用引用。

由于某种原因,即使没有指定内容类型它也可以工作,但是我不确定如何。代码中包含Images.Captcha了它,所以我保留了它,至少直到找到不使用它的原因为止。



 类似资料:
  • 问题内容: 我正在为我的应用程序使用烧瓶。我想将图像(由PIL动态生成)发送给客户端,而不保存在磁盘上。 任何想法如何做到这一点? 问题答案: 首先,你可以将映像保存到临时文件并删除本地文件(如果有): 其次,将临时文件设置为响应(根据此stackoverflow问题):

  • 浏览图像 可从已登录至频道的网页接收数据,并播放图像。 使用操作接口 播放幻灯片秀

  • 浏览图像 选择相片时,会显示以下的图标。 摄影机 连接PSP™专用摄影机(选购品)后,可拍摄静止图像或影像。 Memory Stick™ 可浏览保存于Memory Stick™的图像。 主机内存 可浏览保存于主机内存的图像。   相机图像 可浏览支持Memory Stick™之数码(数字)相机所拍摄的图像。 (文件夹) 仅于存在使用计算机新建之文件夹时显示。 (图像档案) 可浏览保存于Memory

  • 我正在尝试使用JNI将一个图像从C++发送到java。该图像是一个用C++创建的位图,其中我使用将像素转换为一个。当使用C++将图像保存到文件中时,没有任何问题,但是当将像素发送到Java时,图像会变得模糊。JavaDocs说我必须使用来实现BufferedImage,但我觉得压缩中有问题 C++位图 这是图像的结果

  • 问题内容: 我已经开发了一个Spring / JPA应用程序: 服务,存储库和域层即将完成 。 该 所缺的只是层是网络层 。我正在考虑将Playframework 2.0用于Web层,但不确定是否可以 在Playframework 2.0类中注入/使用spring bean 。 这可能吗?如果可以,怎么办? 问题答案: 您可以。已针对Play 2.5.x更新: https://github.com

  • 问题内容: 我有当前的应用程序,该应用程序从MySQL数据库发送和检索数据,但是到目前为止,我要传递的信息是String。如何更新下面的代码以也可以发送图像。 注意:我已经像其他String字段一样添加了image字段,但是应用程序现在停止了,它显然无法将图片转换为Text。让我知道您的想法或任何可用的转换。我只是拍张照片,然后将照片发送给MySQL。 问题答案: 如果要在服务器上发送图像!您必须