Download the address: http://downloads.jmagick.org/
Download the installation Imagemagick-6.3.9-0-q16-windows-dll.exe first, and copy all DLL files under the installation directory (found by the directory you installed) to the "C:windowssystem32" folder under the system disk.
then download the corresponding Jmagick jmagick-win-6.3.9-q16.zip decompression jmagick.dll Copy to the "C:windowssystem32" folder under the system disk; Jmagick.jar copied to the Lib folder under Tomcat or the Web-inf lib file of the item being used
Then proportional scaling
public static void Changeimge (file img, int width, int height) {
try {
Image image = Imageio.read (IMG);
Size of the picture, if the length is smaller than the specified size, then return, if there is a greater than the specified size, proportional scaling
int srch = Image.getheight (null);
int SRCW = Image.getwidth (null);
if (srch <= height && srcw <= width) {
Return
}
int tmph = width;
int TMPW = height;
Limited in length and width, not exceeding set value
while (Srch > Height | | srcw > width) {
if (SRCW > width) {
tmph = Srch * WIDTH/SRCW;
Srch = tmph;
Srcw=width;
}
if (Srch > height) {
TMPW = SRCW * Height/srch;
SRCW = TMPW;
Srch=height;
}
}
BufferedImage bufferedimage = new BufferedImage (SRCW, Srch,
BUFFEREDIMAGE.TYPE_3BYTE_BGR);
Bufferedimage.getgraphics (). DrawImage (
Image.getscaledinstance (SRCW, Srch, Image.scale_smooth), 0,
0, SRCW, srch, NULL);
FileOutputStream fos = new FileOutputStream (IMG);
JPEGImageEncoder encoder = jpegcodec.createjpegencoder (FOS);
Encoder.encode (BufferedImage);
Fos.close ();
System.out.println ("Conversion succeeded ...");
catch (IOException e) {
E.printstacktrace ();
throw new IllegalStateException ("Picture conversion error!") ", e);
}
}
Code two
Java code
Import java.awt.dimension;
Import Java.awt.rectangle;
Import Java.text.simpledateformat;
Import Java.util.date;
Import Magick.compositeoperator;
Import Magick.compressiontype;
Import Magick.drawinfo;
Import Magick.imageinfo;
Import magick.magickexception;
Import Magick.magickimage;
Import Magick.pixelpacket;
Import Magick.previewtype;
public class Imageutils {
static{
You can't miss this, or Jmagick.jar's path can't be found.
System.setproperty ("Jmagick.systemclassloader", "no");
}
See a use Jmagick to generate thumbnails
Import java.awt.dimension;
Import Java.awt.rectangle;
Import Java.awt.image.bufferedimage;
Import Java.io.file;
Import Java.text.simpledateformat;
Import Java.util.date;
Import Javax.imageio.imageio;
Import Magick.compositeoperator;
Import Magick.compressiontype;
Import Magick.drawinfo;
Import Magick.imageinfo;
Import magick.magickexception;
Import Magick.magickimage;
Import Magick.pixelpacket;
Import Magick.previewtype;
public class Imageutil2 {
static {
You can't miss this, or Jmagick.jar's path can't be found.
System.setproperty ("Jmagick.systemclassloader", "no");
}
/**
* Compress Pictures
*
* @param filepath source file path
* @param topath thumbnail path
*/
public void CreateImage (string filepath,string topath, int width, int height) {
Imageinfo info = null;
Magickimage image = null;
Magickimage scaled = null;
try {
info = new Imageinfo (filepath);
Image = new Magickimage (info);
scaled = image.scaleimage (width, height);//small picture file size.
Scaled.setfilename (Rootpath+topath);
Scaled.writeimage (info);
catch (Exception e) {
E.printstacktrace ();
finally {
if (image!=null)
{
Image.destroyimages ();
}
if (scaled!= null) {
Scaled.destroyimages ();
}
}
}
public static void Main (string[] args) {
CreateImage ("D:1012.jpg", "d:www.111cn.net_th.jpg", 110,100);
System.out.println (Isupdatebigpic ("d:www.111cn.net11.jpg"));
}
}
ImageMagick is a powerful, stable, and free toolset and development kit that can be used to read, write, and process picture files in more than 89 basic formats, including popular TIFF, JPEG, GIF, PNG, PDF, and PHOTOCD formats. With ImageMagick, you can dynamically generate pictures based on the needs of your Web application, and you can resize, rotate, sharpen, subtractive, or add special effects to one (or a group) of pictures and save the results of the operation in the same format or in other formats. Operations on pictures can be done either through the command line or by programming in C/E + +, Perl, Java, php tutorials, python, or Ruby. At the same time, ImageMagick provides a high-quality 2d toolkit that partially supports SVG. Now, Imagemagic's main focus is on performance, reducing bugs, and providing stable APIs and ABI