Portal > Foren > Java > Desktop-Applikationen und Grafik > getScaledInstance()
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 30.05.2005, 19:40 Nach oben    #1
Erfahrener Benutzer
 
Registriert seit: 02.02.2005
Beiträge: 539
Standard getScaledInstance()

Ich programmiere gerade an einer Bildergallerie. In der lese ich verschiedene Bilder ein. Das aktuelle (bigPic) möchte ich nicht größer als 400 x 400 haben und die kleinen (littlePic[]) nicht größer als 75 x 75. Normalerweiße müsste das doch so gehen:
PHP-Code:
...
         
mal.bigPic Toolkit.getDefaultToolkit().getImage(new URL(getCodeBase(), pics.elementAt(0).toString())); 
         if (
mal.bigPic.getWidth(this) > 400 && mal.bigPic.getWidth(this) >= mal.bigPic.getHeight(this)) { 
            
mal.bigPic mal.bigPic.getScaledInstance(400, (int)(400 / (mal.bigPic.getWidth(this) / mal.bigPic.getHeight(this))), mal.bigPic.SCALE_DEFAULT); 
         } 
         else if (
mal.bigPic.getHeight(this) > 400 && mal.bigPic.getHeight(this) >= mal.bigPic.getHeight(this)) { 
            
mal.bigPic mal.bigPic.getScaledInstance((int)(400 / (mal.bigPic.getHeight(this) / mal.bigPic.getWidth(this))), 400mal.bigPic.SCALE_DEFAULT); 
         } 
         for (
int i 0mal.littlePic.lengthi++) { 
            
mal.littlePic[i] = Toolkit.getDefaultToolkit().getImage(new URL(getCodeBase(), pics.elementAt(i).toString())); 
            if (
mal.littlePic[i].getWidth(this) > 75 && mal.littlePic[i].getWidth(this) >= mal.littlePic[i].getHeight(this)) { 
             
mal.littlePic[i] = mal.littlePic[i].getScaledInstance(75, (int)(75 / (mal.littlePic[i].getWidth(this) / mal.littlePic[i].getHeight(this))), mal.littlePic[i].SCALE_DEFAULT);    
            } 
            else if (
mal.littlePic[i].getHeight(this) > 75 && mal.littlePic[i].getHeight(this) >= mal.littlePic[i].getWidth(this)) { 
                 
mal.littlePic[i] = mal.littlePic[i].getScaledInstance((int)(75 / (mal.littlePic[i].getHeight(this) / mal.littlePic[i].getWidth(this))), 75mal.littlePic[i].SCALE_DEFAULT); 
            } 
         }
... 
Da bekomm ich aber manchmal eine ArithmeticException geworfen (ich teile meiner Ansicht nach aber nirgendwo durch 0) und außerdem sind die Bilder, sobald ihre größe angepasst werden soll entweder 400 x 400 oder 75 x 75 obwohl ich eigentlich möchte, dass nur der Größte Wert (also x oder y) nicht 400 bzw. 75 überschreitet. Wodurch eigentlich eine Auflösung von z. B. 400 x 300 möglich sein sollte. Weiß jemand wo der Fehler in meinem Code liegt?
Gottzilla ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 30.05.2005, 21:29 Nach oben    #2
Erfahrener Benutzer
 
Registriert seit: 02.02.2005
Beiträge: 539
Standard

Hat sich erledigt, hab vergessen, dass ich double für Kommastellen brauch :confused:
Gottzilla ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:36 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45