我对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
这个例子
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。