-1
我在Java Spring中创建了一个应该返回包含透明背景中文本的图像的方法。我一直在寻找一段时间,但我找不到答案。透明背景上的纯文本
我认为这是一个很好的方式使用Graphics2D
但我无法找到神奇的公式。以下示例不起作用:
@RequestMapping(value= "/test", method = RequestMethod.GET)
public void dynamicImage(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("image/jpg");
ServletOutputStream out = response.getOutputStream();
BufferedImage image = new BufferedImage(200, 40, BufferedImage.TYPE_BYTE_INDEXED);
Graphics2D graphics = image.createGraphics();
graphics.setComposite(AlphaComposite.Clear);
graphics.fillRect(0,0, 200, 40);
// I know ... I am using Comic Sans for testing ...
Font font = new Font("Comic Sans MS", Font.BOLD, 30);
graphics.setFont(font);
graphics.setColor(Color.RED);
graphics.drawString("Hello World!", 5, 30);
graphics.dispose();
// Use PNG Decoder
//JPEGCodec.createJPEGEncoder(out).encode(image);
out.close();
}
@吓人-袋熊我要求一个图像是透明的。它不能是JPG我很高兴与PNG的例子。 – Tk421
也许http://stackoverflow.com/questions/28522368/how-can-i-generate-a-transparent-gif-in-java –
@吓人的袋熊我试过这种例子。文字和背景变得透明。 – Tk421