11. september 2004 - 22:42Der er
4 kommentarer og 2 løsninger
manipulering af billede
Hallo, hvad kan man dog ikke finde på at lave en lørdag aften... Jeg sidder og bakser for at finde en NEM måde på hvordan jeg kan ændre opløsningen på ca. 400 billeder... Jeg vil gerne lave et program der går ind og laver et mini billede af det orginale og det skal naturligvis være i JAVA.
Er der nogen der har nogle gode forslag?? eller en bid kode måske?? Det er kun billede delen jeg er interesseret i alt anden har jeg styr på.
public static String getFileSuffix(File file) throws IOException { String filename = file.getName(); int dot = filename.lastIndexOf('.'); if (dot == -1) throw new IOException("no file suffix: " + filename); return filename.substring(1+dot); } //choose best algorithm for factor
public static BufferedImage rescale(BufferedImage image, double factor) { int w = (int) (image.getWidth() * factor); int h = (int) (image.getHeight()* factor); BufferedImage result = createCompatibleImage(image, w, h); Graphics2D g = result.createGraphics(); if (factor < 1) { Image temp = image.getScaledInstance(w, h, Image.SCALE_AREA_AVERAGING); g.drawImage(temp, null, null); } else { g.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC); g.drawRenderedImage(image, AffineTransform.getScaleInstance(factor, factor)); } g.dispose(); return result; }
public static BufferedImage createCompatibleImage(BufferedImage image, int w, int h) { ColorModel cm = image.getColorModel(); WritableRaster raster = cm.createCompatibleWritableRaster(w, h); return new BufferedImage(cm, raster, cm.isAlphaPremultiplied(), null); }
}
Jeg håber at der er andre der kan bruge den til noget.
Med venlig hilsen Morten Skovborg
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.