如何将通过Spring Boot创建的映像发送到我的网站? -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

如何将通过Spring Boot创建的映像发送到我的网站?

七天一失眠 2020-03-21 12:15:20 59

我对Java非常陌生,所以请多多包涵。

我有一个绘制图片的类称为PictureRenderer,我的方法之一是:

public class PictureRenderer extends JPanel implements MouseListener, MouseMotionListener, PropertyChangeListener {

//Begin First Method
private int drawPicture( int[] checks, int maxCheckCount, Graphics g) {
//code here
}

}

然后我有一个休息控制器:


@CrossOrigin(origins = "*", allowedHeaders = "*")
@GetMapping(value = "/servlet/checkRequest")
String getCheckRequest { 
    PictureRenderer renderPic = new PictureRenderer();

    try {
        renderPic.drawPicture(2, 2, g);
    } catch (Exception e) {
        System.out.println("Exception caught " + e);
    }
return "Good job?!"
}

我的问题是如何使它工作?最终我想要的是,因为我已经有创建图片的代码,因此我想将其发送到我的网站,因为我想离开JPanel。如果您需要其他任何信息,请告诉我。

谢谢您的帮助!!


问题来源:stackoverflow

Java 图形学 Spring
分享到
取消 提交回答
全部回答(1)
  • 七天一失眠
    2020-03-21 14:58:02

    这个例子

    • 创建图像
    • 将图像编码为字节[]
    • 将byte []编码为base64 如链接答案中所述(返回为base64以及如何使用java创建映像)。
    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.ByteArrayOutputStream;
    import java.util.Base64;
    import javax.imageio.ImageIO;
    
    @GetMapping("/image")
    @ResponseBody
    public byte[] getImage() throws IOException {
    
        BufferedImage image = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
        Graphics g = image.createGraphics();
        g.setColor(Color.blue);
        g.fillRect(0, 0, 100, 100);
    
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ImageIO.write(image, "png", bos);
    
        byte[] encoded = Base64.getEncoder().encode(bos.toByteArray());
        return encoded;
    }
    
    @GetMapping("/html")
    @ResponseBody
    public String getHtml() throws IOException {
       return "<img src=\"data:image/png;base64, " + new String(getImage(), "UTF8") + "\" alt=\"blue square\">";
    }
    

    调用/image仅返回base64数据,而调用则/html返回完整的html组件。在浏览器中完成后,它应该直接显示图像。


    答案来源:stackoverflow

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程