Pixelgröße eines Bildes verändern

Tservarius

Mitglied
Hi,

ich nutze derzeit Struts2 als Framework und habe ein Formular über das ein Bild zu einer Person hochgeladen werden kann. Da die Bilder ja nicht immer im benötigten Format vorliegen, sollen diese automatisch resized werden. In PHP kein Problem, nur wie stell ich das in Java an ?

p_bild ist das bild aus der form

Code:
private static String UPLOADPFAD = "/usr/share/tomcat/webapps/portal/img/mitarbeiter/";
int mitarbeiternummer = usr_db.getUserid();
String dateiname = UPLOADPFAD + mitarbeiternummer + ".jpg";
File theFile = new File(dateiname);
FileUtils.copyFile(p_bild, theFile);

Wie schon gesagt, der Upload klappt super. Momentan wird dort aber nur die Datei weggeschrieben. Erstmal müsste die Action jetzt wissen, dass es sich dabei um nen Bild handelt und das Bild vor dem
Code:
FileUtils.copyFile(p_bild, theFile);
noch bearbeitet werden muss. (Resize auf 150x300 pixel)


Bin über jede Hilfe / Codeschnipsel dankbar. Habe bislang nur ein paar Sache zu AWT und grafischen Applets im Netz gefunden die mich aber nicht sooo super weitergebracht haben.
 
danke erstmal..

naja.. das hätte ich auch gekonnt, jedoch ist das der codeschnipsel da nicht wirklich aussagekräftig, da einfach mal ne methode fehlt "readImage".
hatte eigentlich nach etwas gesucht, dass vollständiger und vllt. besser dokumentiert ist..
 
hab eine lösung gefunden, danke
für alle die es interessiert..

Code:
File theFile = new File(dateiname);
        		BufferedImage bufimg = ImageIO.read(theFile);
        		int width = 189;
        		int height = 251;

        		System.out.println("Typ: " + bufimg.getType());
        		BufferedImage bufimg2 = new BufferedImage(width, height,bufimg.getType());
        		Graphics2D g2d = (Graphics2D) bufimg2.getGraphics();
        		g2d.scale((double) width /bufimg.getWidth(), (double) height /bufimg.getHeight());
        		g2d.drawImage(bufimg,0,0,null);
        		ImageIO.write(bufimg2, "jpeg", theFile);
 

Neue Beiträge

Zurück