Java - JPEG laden, verkleinern, speichern

Moin!
Wie rufst du denn das Programm auf und wo hast du es gespeichert?
Da die Klasse sich in einem Paket befindet, muss sie auch entsprechend aufgerufen werden.
Beispiel, die Klasse befindet sich in Verzeichnis "F:\examples\de\tutorials\test".
Dann musst du in das Verzeichnis "F:\examples" wechseln und "java de.tutorials.test.Test48" aufrufen..


*grüssle*
MeinerEiner
 
Ja moin!

C:\Dokumente und Einstellungen\Lego\Anwendungsdaten\JavaEditor\Test48.java

Da liegt meine Datei. Ich rufe das Ganze wie gesagt über einen Java-Editor auf und der compiliert das Ganze auch direkt. Ich habe im Anhang eine Screenshot von dem Programm gemacht.

Danke für eure Mühe

Volker
 

Anhänge

  • Java.jpg
    Java.jpg
    84,4 KB · Aufrufe: 1.424
Vielleicht habe ich mich nicht deutlich genug ausgedrückt, aber die Paketstruktur eines Programms spiegelt sich direkt in der Dateistruktur wieder. Also, wenn das Programm sich im Paket de.tutorials.test befindet, muss es sich auch in einem Verzeichnis "\de\tutorials\test" befinden, ansonsten kommt es zu der dir beschrieben Exception!

*grüssle*
MeinerEiner
 
Hallo susammen,

ich hab eine andere frage und zwar gib es eine Möglichkeit einen teil von einem bild auszuschneiden und zu speichern bzw ein bild erstellt das nur einen teil von dem ursprünglichen bild besitzt so dass man den rand weglässt ?
so ähnlich wie die methode getScaledInstance. gibst da noch mehr in der richtung?

wär cool ;-)
 
Hallo Bäästy,

mit g.drawImage(...) zeichnest du ja das eingelesene und ggf. skalierte Bild auf das Zielbild.

Dabei kannst du die Startkoordinate mitgeben, also die obere rechte Ecke in der begonnen werden soll, das Ursprungsbild auf das Zielbild zu übertragen.

Sind diese Werte negativ, schneidest du oben und links ab. Sind die Werte größer als Null, hast du in deinem neu angelegten Bild oben und links einen Rahmen um das hinein kopierte.

Code:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;

public class Test {
	public static void main(String[] args) throws IOException {
		Image image = new ImageIcon("/Users/nilseckert/Desktop/test.jpg").getImage();

		int cutLeft = 50, cutTop = 500;
		int width = 1024, height = 1024;

		BufferedImage targetImage = new BufferedImage(width, height, BufferedImage.SCALE_SMOOTH);

		Graphics g = targetImage.getGraphics();
		g.drawImage(image, -cutLeft, -cutTop, null);
		g.dispose();

		ImageIO.write(targetImage, "jpeg", new File("/Users/nilseckert/Desktop/test-cut.jpg"));
	}
}

Viele Grüße
Nils
 
Zurück