|  |  | 
 |  |  | import java.lang.Integer; | 
 |  |  |  | 
 |  |  | /* | 
 |  |  |     Skript zum Verkleinern von Bildern mit Hilfe  | 
 |  |  |     Skript zum Verkleinern von Bildern mit Hilfe | 
 |  |  |     der Klasse Bild | 
 |  |  |  | 
 |  |  |     args[0] - Anzahl Pixel an der laengsten Kante | 
 |  |  |     args[1] - qualitaet JPEG, z.B. 75 fuer 75% | 
 |  |  |     args[2] - Eingangsordner | 
 |  |  |     args[3] - Ausgabeordner | 
 |  |  | */ | 
 |  |  |  | 
 |  |  | FileNameMap fileNameMap = URLConnection.getFileNameMap(); | 
 |  |  | int width = Integer.parseInt(args[0]); | 
 |  |  | int height = width; | 
 |  |  | String inDirName = args[1]; | 
 |  |  | String outDirName = args[2]; | 
 |  |  | String inDirName = args[2]; | 
 |  |  | String outDirName = args[3]; | 
 |  |  | File inFile = new File(inDirName); | 
 |  |  | File[] fileList = inFile.listFiles(); | 
 |  |  | if(fileList != null && fileList.length > 0) { | 
 |  |  |     for(int i = 0; i < fileList.length; i++) { | 
 |  |  |         System.out.println(fileList[i].getAbsolutePath()); | 
 |  |  |     		 | 
 |  |  |  | 
 |  |  |         File outDir = new File(outDirName); | 
 |  |  |         File outFile = new File(outDir, fileList[i].getName()); | 
 |  |  |         System.out.println(outFile.getAbsolutePath()); | 
 |  |  | 
 |  |  |     try { | 
 |  |  |       mediaTracker.waitForID(0); | 
 |  |  |       if (!mediaTracker.isErrorAny()) { | 
 |  |  |          | 
 |  |  |         int quality = 90; | 
 |  |  |  | 
 |  |  |         int quality = Integer.parseInt(args[1]); | 
 |  |  |         float factor = (float) 0.0; | 
 |  |  |          | 
 |  |  |  | 
 |  |  |         BufferedImage thumbImage; | 
 |  |  |         int imageWidth = image.getWidth(null); | 
 |  |  |         int imageHeight = image.getHeight(null); | 
 |  |  |         int thumbWidth = width; | 
 |  |  |         int thumbHeight = height; | 
 |  |  |         if(imageWidth < width) { | 
 |  |  |           thumbWidth = imageWidth;     | 
 |  |  |           thumbWidth = imageWidth; | 
 |  |  |         } | 
 |  |  |         if(imageHeight < height) { | 
 |  |  |           thumbHeight = imageHeight; | 
 |  |  | 
 |  |  |         else { | 
 |  |  |           thumbWidth = (int)(thumbHeight * imageRatio); | 
 |  |  |         } | 
 |  |  |   | 
 |  |  |         String mimeType = fileNameMap.getContentTypeFor("file://" + fileList[i].getAbsolutePath());     | 
 |  |  |          | 
 |  |  |  | 
 |  |  |         String mimeType = fileNameMap.getContentTypeFor("file://" + fileList[i].getAbsolutePath()); | 
 |  |  |  | 
 |  |  |         // draw original image to thumbnail image object and | 
 |  |  |         // scale it to the new size on-the-fly | 
 |  |  |         if(mimeType.contains("jpeg") || mimeType.contains("png")) { | 
 |  |  | 
 |  |  |         Graphics2D graphics2D = thumbImage.createGraphics(); | 
 |  |  |         graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); | 
 |  |  |         graphics2D.drawImage(image, 0, 0, thumbWidth, thumbHeight, null); | 
 |  |  |   | 
 |  |  |  | 
 |  |  |         // 30.7.2007: sharpening hinzugefuegt (Anfang) | 
 |  |  |         //float factor = -0.15f; // minus = sharpen, plus = soften | 
 |  |  |         //float[] sharpenArray = {0, -1, 0, -1, 5, -1, 0, -1, 0}; | 
 |  |  | 
 |  |  |         /*if(thumbWidth < 400 || thumbHeight < 400) { | 
 |  |  |           factor = 0.1f; | 
 |  |  |         }*/ | 
 |  |  |      | 
 |  |  |  | 
 |  |  |         if(factor != (float) 0.0) { | 
 |  |  |             //float[] array = {0, factor, 0, factor, 1-(factor*4), factor, 0, factor, 0}; | 
 |  |  |                         float[] array = new float[9]; | 
 |  |  | 
 |  |  |             ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null); | 
 |  |  |             thumbImage = cOp.filter(thumbImage, null); | 
 |  |  |         } | 
 |  |  |         // 30.7.2007: sharpening hinzugefuegt (Ende)         | 
 |  |  |          | 
 |  |  |         // 30.7.2007: sharpening hinzugefuegt (Ende) | 
 |  |  |  | 
 |  |  |         String imgType; | 
 |  |  |         if(mimeType.contains("jpg")) { | 
 |  |  |           imgType = "jpg"; | 
 |  |  | 
 |  |  |         } else { | 
 |  |  |           imgType = "jpg"; | 
 |  |  |         } | 
 |  |  |          | 
 |  |  |         ImageIO.write(thumbImage, imgType, outFile);                 | 
 |  |  |  | 
 |  |  |         ImageIO.write(thumbImage, imgType, outFile); | 
 |  |  |       } | 
 |  |  |     } catch (InterruptedException ex) { | 
 |  |  |       System.out.println("Error: " + ex.getLocalizedMessage()); | 
 |  |  |     }		 | 
 |  |  | 		 | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     } | 
 |  |  | } else { | 
 |  |  |     System.out.println("fileList is null or empty"); | 
 |  |  | } | 
 |  |  | } |