Hello
On my web application, I need to resize images sent via multipart forms.
When I try a console application using awt on my mac (see attached
code), the console application starts a real Mac application with window
and menu, while my code is only calling non-gui functions
(ImageIO.read...) .
I'm really affraid to add this code on my server, and I wonder if this
may have impact on memory, performance and stability of the server. I
would rather prefer a little imaging library like jmagick or gd for
java, small and efficient. It's not 100% java but it does not create
windows and menus...
What do you use to resize images on the server size ?
Thanks a lot.
--
Riccardo Cohen
+33 (0)6 09 83 64 49
Société Realty-Property.com
1 rue de la Monnaie
37000 Tours
France
<http://www.appartement-maison.fr>
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args)
{
String mode = "draw";
BufferedImage image1 = null;
BufferedImage image2 = null;
BufferedImage image3 = null;
BufferedImage image1_converted = null;
BufferedImage image2_converted = null;
BufferedImage image3_converted = null;
String path1 = "images/image1.jpg";
String path2 = "images/image2.gif";
String path3 = "images/image3.png";
String ext1 = "jpg";
String ext2 = "gif";
String ext3 = "png";
int outputWidth = 200;
int outputHeight = 100;
try{
image1 = ImageIO.read(new File(path1));
}catch(IOException ex){System.out.println("Iexeption
image1");ex.printStackTrace();}
try{
image2 = ImageIO.read(new File(path2));
}catch(IOException ex){System.out.println("Iexeption image2");
ex.printStackTrace();}
try{
image3 = ImageIO.read(new File(path3));
}catch(IOException ex){System.out.println("Iexeption image3");
ex.printStackTrace();}
int width1 = image1.getWidth();
int height1 = image1.getHeight();
int width2 = image2.getWidth();
int height2 = image2.getHeight();
int width3 = image3.getWidth();
int height3 = image3.getHeight();
System.out.println(path1);
System.out.println("width : " + width1);
System.out.println("height : " + height1);
System.out.println("\n" + path2);
System.out.println("width : " + width2);
System.out.println("height : " + height2);
System.out.println("\n" + path3);
System.out.println("width : " + width3);
System.out.println("height : " + height3);
if(mode.equals("resize"))
{
image1_converted = new BufferedImage(outputWidth,
outputHeight, image1.getType());
Graphics2D g1 = image1_converted.createGraphics();
g1.drawImage(image1, 0, 0, outputWidth, outputHeight,
null);
g1.dispose();
image2_converted = new BufferedImage(outputWidth,
outputHeight, image2.getType());
Graphics2D g2 = image2_converted.createGraphics();
g2.drawImage(image2, 0, 0, outputWidth, outputHeight,
null);
g2.dispose();
image3_converted = new BufferedImage(outputWidth,
outputHeight, image3.getType());
Graphics2D g3 = image3_converted.createGraphics();
g3.drawImage(image3, 0, 0, outputWidth, outputHeight,
null);
g3.dispose();
}
else
{
image1_converted = new BufferedImage(width1, height1,
image1.getType());
Graphics2D g1 = image1_converted.createGraphics();
//System.out.println(g1.getFont().toString());
g1.drawImage(image1, 0, 0, width1, height1, null);
g1.setFont(new Font("Dialog", 2, 200));
g1.drawString("test", width1/2, height1/2);
g1.dispose();
image2_converted = new BufferedImage(width2, height2,
image2.getType());
Graphics2D g2 = image2_converted.createGraphics();
g2.drawImage(image2, 0, 0, width2, height2, null);
g2.setFont(new Font("Dialog", 2, 200));
g2.drawString("test", width2/2, height2/2);
g2.dispose();
image3_converted = new BufferedImage(width3, height3,
image3.getType());
Graphics2D g3 = image3_converted.createGraphics();
g3.drawImage(image3, 0, 0, width3, height3, null);
g3.setFont(new Font("Dialog", 2, 200));
g3.drawString("test", width3/2, height3/2);
g3.dispose();
}
try{
ImageIO.write(image1_converted, ext1, new
File("images/image1_converted."+ext1));
}catch(IOException ex){System.out.println("Oexeption
image1");ex.printStackTrace();}
try{
ImageIO.write(image2_converted, ext2, new
File("images/image2_converted."+ext2));
}catch(IOException ex){System.out.println("Oexeption
image2");ex.printStackTrace();}
try{
ImageIO.write(image3_converted, ext3, new
File("images/image3_converted."+ext3));
}catch(IOException ex){System.out.println("Oexeption
image3");ex.printStackTrace();}
}
}
_______________________________________________
resin-interest mailing list
[email protected]
http://maillist.caucho.com/mailman/listinfo/resin-interest