myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

[Java] Bild Größe anpassen/ändern

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 10.08.12, 20:19   #1
JxpHiL
Erfahrener Newbie
 
Benutzerbild von JxpHiL
 
Registriert seit: May 2010
Beiträge: 103
Bedankt: 256
JxpHiL ist noch neu hier! | 0 Respekt Punkte
Standard [Java] Bild Größe anpassen/ändern

Hallo Leute,

Ich habe ein Problem mit meinem "Java Bild Anzeige Programm".

Kurze Beschreibung:
Alles mit Swing/GUI verschönert.
Programm fordert auf ein Bild (JPEG) von der Festplatte auszuwählen.
Dieses wird durch den Code gejagt und dann "gezeichnet".

Nun zu meinem Problem. Wenn ich ein Bild mit einer Auflösung von 4131x3243 o.ä. habe, ist das Fenster dementsprechent groß, weil es der Bildgröße angepasst wird.
Geändert habe ich es dann dahingehend, dass es der Bildschirmhöhe und -breite angepasst wird. Allerdings wird nicht das BILD verändert, sondern das GUI-FENSTER.
Etwas ärgerlich, weil ich deswegen dann nur einen Ausschnitt habe.
Hat jemand einen Tipp? Ich möchte nur halt nicht mein ganzes Programm umbauen müssen.
Hier ein Codeteil:

__________________
Hello Universe!
JxpHiL ist offline   Mit Zitat antworten
Ungelesen 11.08.12, 22:13   #2
Melfis
Anfänger
 
Registriert seit: Apr 2010
Beiträge: 22
Bedankt: 9
Melfis ist noch neu hier! | 0 Respekt Punkte
Standard

Die API wurde nicht aus Spass geschrieben :
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
getScaledInstance ist deine gesuchte methode
Melfis ist offline   Mit Zitat antworten
Ungelesen 12.08.12, 19:24   #3
JxpHiL
Erfahrener Newbie
 
Benutzerbild von JxpHiL
 
Registriert seit: May 2010
Beiträge: 103
Bedankt: 256
JxpHiL ist noch neu hier! | 0 Respekt Punkte
Standard

Danke. Tut was sie soll . Allerdings "zieht" er das Bild, beziehungsweise drückt es ein, wenn du verstehst. Gibt es dafür auch eine Methode?
__________________
Hello Universe!
JxpHiL ist offline   Mit Zitat antworten
Ungelesen 13.08.12, 06:38   #4
germgerm
bla
 
Registriert seit: Mar 2010
Beiträge: 312
Bedankt: 302
germgerm ist noch neu hier! | 0 Respekt Punkte
Standard

Wenn du meinst, dass das Bild verzerrt ist, hast du die neue Größe nicht richtig angeben.
germgerm ist offline   Mit Zitat antworten
Ungelesen 13.08.12, 18:44   #5
saibot521_2
Anfänger
 
Registriert seit: Feb 2012
Beiträge: 35
Bedankt: 18
saibot521_2 ist noch neu hier! | 0 Respekt Punkte
Standard

Du könntest dir eine Funktion schreiben, die dafür sorgt, dass dein Bild richtig skalliert wird bzw. du die richtigen x und y-Werte für das Bild bekommst *fg*

Pseudocode:
// rückgabewert (Array) ist der skalierte x und y wert, die dann für die Funktion getScaledInstance genutzt werden kann
// input sind x und y des original Bildes
public int[,] GetScalierteBildgroesse (int x, int y)
{
int [,] rueckgabewert = { x, y}

// prüfe ob x die Bildlänge überschreitet
if(rueckgabewert[0] > Fenstergröße_in_x-richtung)
{
// ermittel Scalierungsfaktor
int faktor1 = rounde_auf(rueckgabewert[0] / Fenstergröße_in_x-richtung)
rueckgabewert[0] = runde_ab(rueckgabewert[0] /faktor1) // x-wert
rueckgabewert[1] = runde_ab(rueckgabewert[1] /faktor1) // y-wert
}

// prüfe ob y die Bildlänge überschreitet
if(rueckgabewert[1] > Fenstergröße_in_y-richtung)
{
// ermittel Scalierungsfaktor
int faktor2 = rounde_auf(rueckgabewert[1] / Fenstergröße_in_y-richtung)
rueckgabewert[0] = runde_ab(rueckgabewert[0] /faktor2) // x-wert
rueckgabewert[1] = runde_ab(rueckgabewert[1] /faktor2) // y-wert
}

return rueckgabewert
}
saibot521_2 ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr.


Sitemap

().