Avatar billede ng-km Nybegynder
10. juli 2004 - 08:57 Der er 4 kommentarer og
1 løsning

Gemme JPG i en anden opløsning

Kan man, forholdsvis nemt, i Java indlæse et JPG- eller GIF-billede, og derefter gemme det i en anden opløsning f.eks fra 1024x768 til 640x480?
Avatar billede simonvalter Praktikant
10. juli 2004 - 12:47 #1
jeg har ikke rodet med billedmanipulation i java før så jeg skal ikke kunne sige om man kan gøre det direkte i java. Men der er lavet et java interface til imagemagic vha. jni som måske var en ide at kigge på (jmagic).

http://www.yeo.id.au/jmagick/
http://www.imagemagick.org/download/
Avatar billede simonvalter Praktikant
10. juli 2004 - 13:29 #2
jpg billeder burde du kunne lave uden videre med java
http://www.javaalmanac.com/cgi-bin/search/find.pl?words=image


måske skal du have fat i

http://java.sun.com/j2se/1.4.2/docs/guide/imageio/
Avatar billede ulrikm Nybegynder
21. juli 2004 - 20:46 #3
Her er et bud - args[0] skal indeholde navnet på filen. Billedet laves om til 800*600.

public class SizeChanger
{

    private static void waitForImage( java.awt.Image image )
    {
        try
        {
                  java.awt.MediaTracker tracker =
                new java.awt.MediaTracker(new java.awt.Label());
                  tracker.addImage(image, 0);
                  tracker.waitForID(0);
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    public static void main( String[] args ) throws Exception
    {
        java.awt.Dimension newDimension = new java.awt.Dimension(800,600);
   
        java.awt.Image image =
            java.awt.Toolkit.getDefaultToolkit().getImage(args[0]);
        waitForImage( image );
       
        java.awt.Image scaledImage =
            image.getScaledInstance(newDimension.width,
                        newDimension.height,
                        java.awt.Image.SCALE_SMOOTH);
        waitForImage( scaledImage );
       
        java.awt.image.BufferedImage bufferedImage =
            new java.awt.image.BufferedImage(
                newDimension.width,
                newDimension.height,
                java.awt.image.BufferedImage.TYPE_INT_RGB);

            java.awt.Graphics2D bufferedImageGraphics =
                    bufferedImage.createGraphics();
            bufferedImageGraphics.drawImage(scaledImage,0,0,null);
       
        javax.imageio.ImageIO.write(     bufferedImage,
                        "jpg",
                        new java.io.File("newImage.jpg") );
    }
}
Avatar billede ng-km Nybegynder
24. juli 2004 - 09:25 #4
Tak for alle svarene. Jeg er lige kommet tilbage fra ferie, men kigger på det hurtigst muligt.
Avatar billede ng-km Nybegynder
26. juli 2004 - 07:40 #5
ulrikm: Det var lige det jeg skulle bruge... Tak for det.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester