簡體   English   中英

Android Servlet生成圖像

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM