import java.awt.Component; import java.awt.Graphics; import java.awt.GraphicsConfiguration; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.awt.HeadlessException; import java.awt.Image; import java.awt.Transparency; import java.awt.image.BufferedImage; import java.awt.image.ColorModel; import java.awt.image.ImageProducer; import java.awt.image.PixelGrabber; import java.io.File; import java.io.IOException; import javax.swing.ImageIcon; import com.sun.jimi.core.Jimi; import com.sun.jimi.core.JimiException; import com.sun.jimi.core.JimiWriter; import com.sun.jimi.core.options.JPGOptions; public class ImageUtil { public static void main(String[] args) { // JFrame frame = new JFrame(); // Container container = frame.getContentPane(); // ImageIcon icon = new ImageIcon("/root/Desktop/bmsxml/bsmpic/1.jpg"); // container.add(new JLabel(icon),BorderLayout.CENTER); // frame.setSize(300,300); // frame.validate(); // frame.setVisible(true); // // Image[] result = splitImage(container,icon.getImage(),3,3); // for(int i = 0 ; i < result.length; i++){ // File file = new File("/home/dx/images/" + i + ".jpg"); // try { // file.createNewFile(); // } catch (IOException e1) { // e1.printStackTrace(); // } // try { // ImageIO.write(imageToBufferedImage(result[i]), "jpg", file); // } catch (IOException e) { // e.printStackTrace(); // } // // } // abateImage(); } private static void abateImage(){ for(int i = 0 ; i < 9; i++){ try { imageDimensionChanger("/home/dx/images/" + i + ".jpg","/home/dx/images/" + (i + 10) + ".jpg",0.25); } catch (JimiException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } public static Image[] splitImage(Component component,Image img, int rows, int cols) { if(img == null) return null; Image[] result = new Image[rows * cols]; int w = img.getWidth(component)/cols; int h = img.getHeight(component)/rows; System.out.println(w + " " +h); for(int i = 0;i 100 || (quality + "") == null || (quality + "").equals("")) { System.out.println("quality must between ’0’ and ’100’"); System.out.println("set to DEFAULT value:’75’"); quality = 75; } try { JPGOptions options = new JPGOptions(); options.setQuality(quality); ImageProducer image = Jimi.getImageProducer(source); JimiWriter writer = Jimi.createJimiWriter(dest); writer.setSource(image); // 加入属性设置,非必要 // /* writer.setOptions(options); // */ writer.putImage(dest); } catch (JimiException je) { System.err.println("Error: " + je); } } }