jmagick produce image in memory?
Hi friends,
I want to produce image via jmagick. But I don't want to produce a real file. So I produce image which save in the memory. When jmagick process completely, image will transfer to client.
I wrote sample code, as follows:
ImageInfo info;
MagickImage image;
MagickImage scaled;
try{
System.setProperty("jmagick.systemclassloader","no");
info =new ImageInfo(request.getRealPath("/")+"Image/"+filename);
image =new MagickImage(info);
image = image.cropImage(new Rectangle(0,0,100,100));
scaled = image.scaleImage(200,200);
byte data[]=scaled.imageToBlob(new ImageInfo());
response.setContentType("image/jpeg");
OutputStream toClient=response.getOutputStream();
toClient.write(data);
toClient.close();
}catch(MagickApiException ex){
System.out.println(ex);
}catch(MagickException ex){
System.out.println(ex);
}finally{//release memory
info=null;
image=null;
scaled=null;
System.gc();
}
But I found......
When many people connect to this webpage, my memoey will increase very fast. And jmagick will not produce image. I don't know how to solve this problem.
Please Help me...
Thank you very much..
Regards,

