Verschwommene Grafik

Javt

Aktives Mitglied
hi,

Ich hab eine Anwendung in der sich die Bilder ständig vergrößern und verkleinern. Deswegen zeichne ich jedes Bild immer wieder neu:
Java:
img = img_buff.getScaledInstance(size, size, Image.SCALE_FAST);
img_buff = new BufferedImage(size, size, BufferedImage.TYPE_INT_RGB);
img_buff.getGraphics().drawImage(img, 0, 0, null);
setSize(size);

Das Problem dabei ist, dass die Bilder dann verschwommen sind. Man kann nichts erkennen. Wie kann ich das Problem beheben?
 
S

SlaterB

Gast
welche Funktion hat das neu erstellte img_buff, ist img nicht gut genug?
ist img kein BufferedImage und ist das nötig?

zu deinem Problem sind die Informationen sehr rar, wann ist ein Bild verschwommen oder nicht?

allgemein ist natürlich glasklar zu sagen dass es übel wäre, ein Bild ständig in der Größe zu verändern,
wenn du es einmal klein machst, geht Information verloren, vergrößerst du dieses kleine Bild, dann ist es auf Normalgröße
nicht so gut wie das Original, das ist doch sonnenklar?

merke dir das Originalbild wirklich, lege es vor jeglicher Veränderung irgendwo ab,
jedes neue Bild leite immer vom Original ab, statt von einem anderen veränderten,
 
S

SlaterB

Gast
du sprühst vor Informationen, was? ;)

na da es mich selber interessiert habe ich mir gerade ein kleines Programm gebastelt
Java:
public class TestGUI extends JFrame {

	public TestGUI() throws Exception {
		JLabel l = new JLabel();
		add(l);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		setSize(1200, 400);
		setVisible(true);

		ImageIcon icon = new ImageIcon("Mohn.jpg");
		l.setIcon(icon);
		Image orig = icon.getImage();
		int origW = orig.getWidth(null);
		BufferedImage imgBuffOrig = new BufferedImage(origW, origW, BufferedImage.TYPE_INT_RGB);
		imgBuffOrig.getGraphics().drawImage(orig, 0,0, this);
		
		System.out.println(origW);
		for (int i=5; i<30; i++ ) {
			Thread.sleep(400);
			int size = origW * i / 12; 
			Image img = imgBuffOrig.getScaledInstance(size, size, Image.SCALE_FAST);
			System.out.println(img.getHeight(null));
			BufferedImage img_buff = new BufferedImage(size, size, BufferedImage.TYPE_INT_RGB);
			img_buff.getGraphics().drawImage(img,0,0,null);
			icon.setImage(img_buff);
			l.repaint();
		}
	}

	public static void main(String[] args) throws Exception {
		new TestGUI();
	}
}
vom orig-Bild ein getScaledInstance() hat als getWidth() immer -1 geliefert, das konnte ich zwar bereits erfolgreich direkt ins icon setzen, alles gut, aber partout nicht auf ein BufferedImage malen, um deinen Code einigermaßen nahe zu kommen,

deswegen habe ich ausnahmsweise einmal das Original (quadratisch, 300 Pixel) neu in ein BufferedImage gemalt,
damit klappt dann der Weg,
verschwommen ist bei mir nichts, wobei das natürlich immer Interpretation ist, vielleicht hilft mein Programm dir,

du lieferst ansonsten keine Screenshots, kein Code, keine Beschreibung, da fällt mir persönlich nichts weiteres zu ein


edit:
würde ich noch
> imgBuffOrig = img_buff;
einfügen, also wie gesagt nicht immer das Original sondern das vorherige Bild verwenden,
dann gäbe es natürlich eine Pixelwüste, je nachdem mit wie kleinen i/ kleinen Zoom man anfängt
 
Zuletzt bearbeitet von einem Moderator:

Javt

Aktives Mitglied
edit:
würde ich noch
> imgBuffOrig = img_buff;
einfügen, also wie gesagt nicht immer das Original sondern das vorherige Bild verwenden,
dann gäbe es natürlich eine Pixelwüste, je nachdem mit wie kleinen i/ kleinen Zoom man anfängt

Genau das hab ich gemacht. Weil bei mir immer letztendlich das "imgBuffOrig" zum zeichnen verwendet wird.

danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Libraries für AWT für andere Grafik-Frameworks tauglich machen AWT, Swing, JavaFX & SWT 6
G 2D-Grafik Grafik in zwei verschiedenen Fenstern gleichzeitig zeichnen AWT, Swing, JavaFX & SWT 9
R Grafik per JButton laden und austauschen lassen AWT, Swing, JavaFX & SWT 14
M Umwandlung in den HSV-Farbraum lässt die Grafik pixelig werden AWT, Swing, JavaFX & SWT 8
S 2D-Grafik Winkelberechnungen auf 2D Grafik AWT, Swing, JavaFX & SWT 2
E Grafik karte erkennen AWT, Swing, JavaFX & SWT 3
S JavaFX Java Custom Node Grafik zurückgeben AWT, Swing, JavaFX & SWT 2
D Swing JCombobox Aktion löscht Grafik AWT, Swing, JavaFX & SWT 1
K Grafik in JFrame einpassen AWT, Swing, JavaFX & SWT 3
C Nach Aufruf von anderer Klasse streikt Grafik AWT, Swing, JavaFX & SWT 1
T AWT Grafik"Array" einzelne Elemente verschieben AWT, Swing, JavaFX & SWT 1
Sanni94 JavaFX Kann man eine Grafik in einen Text einbinden? AWT, Swing, JavaFX & SWT 2
S Höhendaten in einer Grafik ausgeben AWT, Swing, JavaFX & SWT 2
S Grafik: Programm kommt nicht zur paint()-Methode AWT, Swing, JavaFX & SWT 6
S Grafik in einer Klassen einfügen/hinzufügen AWT, Swing, JavaFX & SWT 1
C 2D Grafik ein Bild soll permanent durchlaufen AWT, Swing, JavaFX & SWT 2
S 3D-Grafik 3d Grafik auf einem JPanel oder im JScrollPane AWT, Swing, JavaFX & SWT 1
F AWT Grafik wird nicht richtig aktualisiert AWT, Swing, JavaFX & SWT 2
J JTabbedPane Grafik unterhalb der Tabs AWT, Swing, JavaFX & SWT 3
F Grafik hängt sich auf AWT, Swing, JavaFX & SWT 20
S LookAndFeel GUI-Grafik AWT, Swing, JavaFX & SWT 5
C LayoutManager Grafik soll nicht im GridLayout Skalieren AWT, Swing, JavaFX & SWT 3
F Grafik mit Buttons versehen AWT, Swing, JavaFX & SWT 8
C Grafik Taschenrechner AWT, Swing, JavaFX & SWT 5
J Grafik (Kreis) schneller bewegen? AWT, Swing, JavaFX & SWT 6
Kenan89 Grafik und Text in JPanel anzeigen AWT, Swing, JavaFX & SWT 8
D Fenster mit Grafik überlappen AWT, Swing, JavaFX & SWT 3
Maxim6394 Rotation einer Grafik in swing AWT, Swing, JavaFX & SWT 13
D Swing Grafik in JPanel anzeigen. AWT, Swing, JavaFX & SWT 3
W Grafik von JFrame korrekt speichern AWT, Swing, JavaFX & SWT 7
S Grafik Fehler AWT, Swing, JavaFX & SWT 15
M Swing JLabel (mit einer Grafik) aktualisieren AWT, Swing, JavaFX & SWT 2
D 2D-Grafik Problem beim Drucken eines Grafik-Objekts AWT, Swing, JavaFX & SWT 2
Daniel_L Grafik erstellen, drin zeichnen und dann speichern AWT, Swing, JavaFX & SWT 2
D Grafik über JPanels hinweg verschieben AWT, Swing, JavaFX & SWT 2
C Grafik von main aus aufrufen AWT, Swing, JavaFX & SWT 13
O Swing Label(bzw. Grafik) verdekt von anderm Label AWT, Swing, JavaFX & SWT 2
T rekursive Grafik AWT, Swing, JavaFX & SWT 5
I 2D-Grafik Problem mit schreiben von Text auf eine Grafik AWT, Swing, JavaFX & SWT 7
F Swing Framework gesucht (Swing, Chart, "Scheduling" Grafik) AWT, Swing, JavaFX & SWT 2
S Pacman-Grafik AWT, Swing, JavaFX & SWT 23
N Eigener Grafik Editor mit fehlerhafter Anzeige AWT, Swing, JavaFX & SWT 4
lordcarlos Dynamische und interaktive grafik AWT, Swing, JavaFX & SWT 5
D Systemmodale Grafik AWT, Swing, JavaFX & SWT 10
J Geladene Grafik in ImageIcon auf Panel fest positionern. AWT, Swing, JavaFX & SWT 8
W Grafik aktualisieren AWT, Swing, JavaFX & SWT 5
S Swing Zugriff auf Polyline in Grafik AWT, Swing, JavaFX & SWT 4
A Swing Bei größe verändern des Fensters Grafik weg AWT, Swing, JavaFX & SWT 3
C gute Grafik-Bibliotheken gesucht AWT, Swing, JavaFX & SWT 6
D JFormattedTextfield um Grafik erweitern AWT, Swing, JavaFX & SWT 15
O Grafik wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
P JPanel mit Grafik von HDD über JTree AWT, Swing, JavaFX & SWT 10
S 2D-Grafik beeinflussen durch Scrollbalken AWT, Swing, JavaFX & SWT 2
A Grafik aus MIME-kodiertem Inhalt erzeugen AWT, Swing, JavaFX & SWT 2
T (WACOM) Grafik Tablet abfragen AWT, Swing, JavaFX & SWT 3
S Button mit Grafik versehen AWT, Swing, JavaFX & SWT 5
D Grafik bearbeiten AWT, Swing, JavaFX & SWT 11
M Ich habe Werte und Brauche Grafik! AWT, Swing, JavaFX & SWT 3
M Grafik flexibel an berechneten Koordinaten positionieren AWT, Swing, JavaFX & SWT 4
M dynamische Grafik in JFrame einbetten AWT, Swing, JavaFX & SWT 2
G Transparente Grafik über JMF Video zeichnen AWT, Swing, JavaFX & SWT 2
I Grafik in Text umwandeln AWT, Swing, JavaFX & SWT 11
G Grafik auf mehrere Methoden/Klassen zerlegen AWT, Swing, JavaFX & SWT 2
G Grafik in Button einbinden AWT, Swing, JavaFX & SWT 3
M Grafik in JFrame in Kombination mit Steuerelementen AWT, Swing, JavaFX & SWT 2
T grafik in jpanel wird nicht neugezeichnet AWT, Swing, JavaFX & SWT 7
F Zellen über eine Grafik legen AWT, Swing, JavaFX & SWT 7
S Grafik Farbwert verändern? AWT, Swing, JavaFX & SWT 8
D Farbe einer Grafik über den Cursor abfragen AWT, Swing, JavaFX & SWT 6
G Keine Anzeige von Grafik bei externem paintComponent-Aufruf AWT, Swing, JavaFX & SWT 2
S Popup auf Grafik AWT, Swing, JavaFX & SWT 18
J Grafik "sichtbar" verschieben AWT, Swing, JavaFX & SWT 2
G Grafik auf JComponent ohne Überschreiben von Paint-Methoden AWT, Swing, JavaFX & SWT 4
G Grafik erzeugen: eine Art Zustandsgraph eines Automaten AWT, Swing, JavaFX & SWT 7
P grafik in JScrollPanel AWT, Swing, JavaFX & SWT 5
D AppletCode als JAR aus JSP benutzen und als Grafik speichern AWT, Swing, JavaFX & SWT 2
S Update von Grafik auf JPanel AWT, Swing, JavaFX & SWT 2
S Auf einem JTabbedPane eine Grafik zeichnen AWT, Swing, JavaFX & SWT 11
W Grafik in JLabel aktualisieren AWT, Swing, JavaFX & SWT 4
S Tooltip mit Grafik AWT, Swing, JavaFX & SWT 2
D Visualisierung einer Selektion in einer Grafik. AWT, Swing, JavaFX & SWT 7
P Vektor-Grafik im XML-Format speichern AWT, Swing, JavaFX & SWT 39
P Grafik auf Button AWT, Swing, JavaFX & SWT 3
E Einträge der JComboBox werden durch Grafik verdeckt AWT, Swing, JavaFX & SWT 11
L Komponente und Grafik gleichzeitig auf JPanel zeichnen AWT, Swing, JavaFX & SWT 11
T swing - grafik schrittweise ausgeben ohne repaint() AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben