Bilder mit java runterrechnen

Status
Nicht offen für weitere Antworten.

raiha

Mitglied
Hi,

ich entwickle ein kleines Bilderverwaltungsproggi für meine Urlaubsfotos und Co. Leider dauert das generieren der Übersicht der Bilder sehr lange. Nun würde ich gern beim Aufnehmen neuer Bilder zu dem normalen Bild noch eine stark verkleinerte Version des Bildes mit aufnehmen welche ich dann in der Übersicht darstellen könnte. Java soll das dabei im Hintergrund automatisch machen.

Kennt jemand eine Möglischkeit wie das mit der "runterrechnerei" geht?

Danke Rainer
 

SebiB90

Top Contributor
ein neues BufferedImage erstellen mit gewünschter größe, das graphics object vom image holen, mit drawimage() das große bild auf das erstellte image verkleinert drauf malen
 
G

Guest

Gast
Habe bis jetzt:

Code:
      BufferedImage LittleImage = new BufferedImage(40,30,BufferedImage.TYPE_INT_RGB);
      Graphics2D g2 = LittleImage.createGraphics();
      g2.drawImage(org_img,null,null);

geht das so? ... und wie bekomme ich das verkleinerte Ergebnis dann als Stream?

Danke Rainer[/code]
 
G

Guest

Gast
So habe es jetzt hinbekommen aber glaube das das besser gehen müsste ?!?

Code:
      // kleines Bild erzeugen und hinzufügen
      
		BufferedImage scaledImg = new BufferedImage(160, 120,BufferedImage.TYPE_INT_RGB);
		Graphics2D gScaledImg = scaledImg.createGraphics();
      
                InputStream is = new BufferedInputStream(new FileInputStream("myfile.jpg"));
                BufferedImage img = ImageIO.read(is);               
		
		gScaledImg.drawImage(img, 0, 0, 160, 120, null);
      
                File scaledImgFile = new File("temp.jpg");
                ImageIO.write(scaledImg, "jpeg", scaledImgFile);
        
                small_fis     = new FileInputStream( scaledImgFile );

Ich erzeuge erst ein file des verkleinerten Bildes und erzeuge daraus dann den Stream. Kann ich das Datei-erzeugen umgehen und den Stream direkt aus dem scaledImg erzeugen? Da das sicher geht kann mir bitte jemand schreiben wie ich das machen kann

Danke Rainer
 

byte

Top Contributor
Eine weiter Möglichkeit wäre folgendes:

http://java.sun.com/j2se/1.5.0/docs/api/java/awt/Image.html#getScaledInstance(int,%20int,%20int)


Da kann man direkt noch den Algorithmus für die Skalierung mit angeben und somit Einfluß auf die Qualität nehmen.
 
G

Guest

Gast
das klingt gut - aber wie bekomme ich jetzt das mit getScaledInstance erzeugte Bildobjekt als Inputstream für meine DB?

Danke Rainer
 

thE_29

Top Contributor
Ich habs so
Code:
BufferdImage tmp = blabla;
AffineTransform tx = new AffineTransform(); //die Form zum skalieren
    tx.scale(dWPercent,dHPercent); //skaliert es
    AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_BILINEAR); //wandelt es auf das op an
    tmp = op.filter(tmp,null); //nimmt die Größenänderung jetzt am Bild war

Wobei:

* @param dWPercent double um wieviel Prozent (von 0.0 bis 1.0)
* @param dHPercent double prozent (von 0.0 bis 1.0)
 

thE_29

Top Contributor
Würde sagen, file wo temporär abspeichern (mit ImageIO)

Und dann einlesen!

Vielleicht gehts auch irgendwie anders.. Bin zu faul zum Nachschaun/Überlegen :bae:
 
G

Guest

Gast
... ja so habe ich es ja bisher gemacht aber ich will mir doch den Festplattenzugriff zu schreiben und erneuten einlesen des Bildes ersparen

Was kann ich da machen ?
 
G

Guest

Gast
ich lege den Stram in einer DB ab und deswegen brauche ich die "gestreamte" Form des Bildes
 

Mag1c

Top Contributor
Hi,

vielleicht helfen dir ja PipedOutputStream und PipedInputStream weiter. Dann sparst du dir das mit dem temp. File.

Gruß
Mag1c
 

thE_29

Top Contributor
Dann würde das so aussehen!

Code:
      InputStream in = blaal;//den hast ja schon!
      PipedInputStream _tmp = new PipedInputStream();
      PipedOutputStream output = new PipedOutputStream(_tmp);
      ImageIO.write(image,"png",output);
      in = _tmp;

Wenn mich das net täuschen würde!!
 
G

Guest

Gast
irgendwie bleibt er bei mir (im debug modus) bei "ImageIO.write(scaledImg,"jpg",output); " hängen und macht gar nichts mehr?
Was läuft da falsch?
 

byte

Top Contributor
Hast Du den Code von thE_29 genommen mit der Pipe? Dann liegt wohl dadran:

Attempting to use both objects from a single thread is not recommended as it may deadlock the thread.


PipedInputStream und PipedOutputStream sind für den Einsatz in zwei unterschiedlichen Threads gedacht und nicht für einen einzelnen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Java in Exe Datei umgewandelt, Ressourcen fehlen (Bilder und Audiodateien) Java Basics - Anfänger-Themen 1
x-tshainge Java Bilder einfügen Java Basics - Anfänger-Themen 1
S Java Web Start lädt keine Bilder Java Basics - Anfänger-Themen 2
J java applets bilder? Java Basics - Anfänger-Themen 11
P php -> Java Servlets . Bilder Java Basics - Anfänger-Themen 3
Butzibu Image Loader lädt nicht alle Bilder: Java Basics - Anfänger-Themen 4
Schniffi Nur bestimmte Bilder aus einem Array auf Image Button anzeigen lassen Java Basics - Anfänger-Themen 3
S Aktuell beste Methode um zwei Bilder zu vergleichen..? Java Basics - Anfänger-Themen 1
B Nach dem kompilieren werden Bilder nicht mehr gefunden Java Basics - Anfänger-Themen 10
C Erste Schritte Bilder nach Export anzeigen Java Basics - Anfänger-Themen 0
B HTML File einlesen inkl. Bilder? Java Basics - Anfänger-Themen 2
S Bilder über Socket Senden Java Basics - Anfänger-Themen 1
S Bilder in .jar Datei laden Java Basics - Anfänger-Themen 10
S Bilder zoomen Java Basics - Anfänger-Themen 0
S Kann keine Bilder laden? Java Basics - Anfänger-Themen 9
CptK Interface Bilder über Bildschirm bewegen, bis der Abstand zum vorherigen zu groß wird Java Basics - Anfänger-Themen 13
CptK Interface Bilder mit Graphics g zeichnen Java Basics - Anfänger-Themen 7
I Projekt als .jar Datei speichern - Bilder werden nicht mehr angezeigt Java Basics - Anfänger-Themen 4
B Auslesen von PDF / Bilder Java Basics - Anfänger-Themen 5
DaCrazyJavaExpert Bilder werden nicht angezeigt! Java Basics - Anfänger-Themen 6
L Verschiedene Bilder per Knopfdruck anzeigen lassen Java Basics - Anfänger-Themen 17
M Bilder in .Jar exportieren Java Basics - Anfänger-Themen 2
T Bilder in ausführbarer Jar Java Basics - Anfänger-Themen 11
F 2 wechselnde Bilder Java Basics - Anfänger-Themen 4
D Verzögerung des Erscheinens der Bilder Java Basics - Anfänger-Themen 5
L BufferdImage schwarzes Bild nach zusammenfügen zweier Bilder Java Basics - Anfänger-Themen 8
F Bilder aus jar einlesen Java Basics - Anfänger-Themen 10
J Bilder in Labels aktualisieren Java Basics - Anfänger-Themen 2
T jpeg Bilder zoomen.. Java Basics - Anfänger-Themen 2
C Bilder von Festplatte in Programm hochladen Java Basics - Anfänger-Themen 6
S Wo speicher ich bilder und sounds ab? Java Basics - Anfänger-Themen 4
C Threads Threaded Bilder bearbeiten Java Basics - Anfänger-Themen 8
K Bilder mit Eclipse exportieren Java Basics - Anfänger-Themen 1
J Slideshow zeigt bilder nicht an Java Basics - Anfänger-Themen 3
R Bilder aus Array als anklickbare Objekte Java Basics - Anfänger-Themen 3
K Export nach Jar mit Bilder Java Basics - Anfänger-Themen 2
L Wie bette ich Bilder in eine .jar ein? Java Basics - Anfänger-Themen 4
C Pfad für Bilder angeben Java Basics - Anfänger-Themen 11
B Bilder laden und drauf zugreifen[Eclipse] Java Basics - Anfänger-Themen 9
E ImageJ mehrere Bilder hintereinander bearteiten Java Basics - Anfänger-Themen 2
E HILFE Projekt für die Schule--> Bilder einfügen Java Basics - Anfänger-Themen 9
D 2 Fragen: Position ändern vs. LayoutManager / Bilder einfügen im Vordergrund Java Basics - Anfänger-Themen 3
H Bilder ohne Verlust speichern Java Basics - Anfänger-Themen 2
J Ladebalken anzeigen während Bilder geladen werden Java Basics - Anfänger-Themen 2
R Bilder positionieren Java Basics - Anfänger-Themen 5
D Erstellte Jar datei zeigt keine Bilder an Java Basics - Anfänger-Themen 5
4 4kb bilder Java Basics - Anfänger-Themen 5
Q Pfadangabe für zu speichernde Bilder Java Basics - Anfänger-Themen 2
B Bilder speichern (jpg, gif, jpg) Java Basics - Anfänger-Themen 4
S Bilder einladen Java Basics - Anfänger-Themen 26
B Aus einem Eclipse Projekt eine .jar - keine Bilder drin Java Basics - Anfänger-Themen 7
H Bilder im GUI einfügen Java Basics - Anfänger-Themen 12
G Bilder in Jar anzeigen lassen Java Basics - Anfänger-Themen 23
T Bilder in der jar-datei Java Basics - Anfänger-Themen 10
H Zahlen Bilder zuordnen möglich? Java Basics - Anfänger-Themen 4
K BufferedImage, Bilder laden Java Basics - Anfänger-Themen 15
J Bilder von Objekten Java Basics - Anfänger-Themen 3
A Bilder in Eclipse speichern Java Basics - Anfänger-Themen 7
J Mit JS, Text und Bilder von Webseite verändern... Java Basics - Anfänger-Themen 10
S Input/Output Text und Bilder laden Java Basics - Anfänger-Themen 5
T Bilder werden in Jar nicht geladen Java Basics - Anfänger-Themen 10
T Buttons (auf denen bilder sind) random vertauschen Java Basics - Anfänger-Themen 11
D Bilder Laden, mit Eclipse ok, .jar nicht Java Basics - Anfänger-Themen 5
F Bilder aus .jar datei laden Java Basics - Anfänger-Themen 1
M Applet soll Bilder aus Ordner lesen Java Basics - Anfänger-Themen 9
T Transparente Bilder mit Graphics zeichnen Java Basics - Anfänger-Themen 17
F Bilder enfügen und Bewegen Java Basics - Anfänger-Themen 6
I Drehbare bilder in 3D Java Basics - Anfänger-Themen 4
M Bilder laden und zeichnen Java Basics - Anfänger-Themen 3
T JTextPane - setText kein kein neuladen der Bilder? Java Basics - Anfänger-Themen 8
A Bilder in Eclipse Java Basics - Anfänger-Themen 8
xehpuk Ordner "Eigene Bilder" ansteuern Java Basics - Anfänger-Themen 3
N Bilder Objekten zuweisen Java Basics - Anfänger-Themen 2
J Bilder auf Bilder zeichnen Java Basics - Anfänger-Themen 8
N jar kann Bilder nicht finden(?) Java Basics - Anfänger-Themen 4
S Spiel automat -Bilder vergleichen Java Basics - Anfänger-Themen 3
R Gif Bilder flimmern Java Basics - Anfänger-Themen 10
P Signiertes JAR aber keine Bilder o0 Java Basics - Anfänger-Themen 6
S Bilder der Diashow werden in anderen Bildern angezeigt Java Basics - Anfänger-Themen 3
G Bilder aus dem Projekt Verzeichnis werden n. angezeigt Java Basics - Anfänger-Themen 7
C Bilder von Server zu Server kopieren über Webdav(Sardine) Java Basics - Anfänger-Themen 5
K Bilder "langsam" laden Java Basics - Anfänger-Themen 4
FreddyStepp Bilder zusammenfügen Java Basics - Anfänger-Themen 7
B GUI-Bilder einfügen Java Basics - Anfänger-Themen 40
S Bilder vergleichen Java Basics - Anfänger-Themen 6
B Kann man im Thread Bilder laden? Java Basics - Anfänger-Themen 8
S Wo speichere ich Bilder für Applets (Netbeans) Java Basics - Anfänger-Themen 5
J Mehrere Bilder laden Java Basics - Anfänger-Themen 6
D Bilder einfügen Java Basics - Anfänger-Themen 8
W Bilder einfügen? Java Basics - Anfänger-Themen 2
S Mehrere Bilder bewegen Java Basics - Anfänger-Themen 5
B Bilder zeichnen Java Basics - Anfänger-Themen 2
D Bilder in JFrame laden Java Basics - Anfänger-Themen 8
L Frage bzgl. Threads beim Bilder laden Java Basics - Anfänger-Themen 3
S Bilder in AWT Java Basics - Anfänger-Themen 7
manunana89 Bilder auf JFrame/beste Möglichkeit??? Java Basics - Anfänger-Themen 5
K Bilder werden nicht angeziegt !!! Java Basics - Anfänger-Themen 2
max56 Bilder ausgeben Java Basics - Anfänger-Themen 21
K Bilder/Dateien aus package einlesen Java Basics - Anfänger-Themen 14
N Bilder verkleiner ausgeben Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben