[英]Android Servlet generate images
在普通的Servlet中,我可以使用以下代碼生成圖像:
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
{
int width = 200, height = 200;
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
Graphics g = image.getGraphics();
drawInside(g); // draw on g
// return
response.setContentType("image/jpeg");
OutputStream out = response.getOutputStream();
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(image);
out.close();
}
但是Android不支持BufferedImage和Graphics,因此我需要使用以下代碼:
public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException
{
int width = 200, height = 200;
Bitmap image = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
Canvas g = new Canvas(image);
drawInside(g); // draw on g
// ...
}
但是Android也不支持JPEGImageEncoder。 如何將圖像寫入ServletResponse.getOutputStream()?
這里的答案:
response.setContentType("image/jpeg");
OutputStream out = response.getOutputStream();
image.compress(Bitmap.CompressFormat.JPEG, 100, out);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.