Zum Eintrag: "Grafikdateien laden und anzeigen"


#1

An alle, hauptsächlich @L-ectron-X : In Grafikdateien laden und anzeigen (Java) – Byte-Welt Wiki wird “oft” Image verwendet, wo man auch BufferedImage verwendet werden könnte. Die Vererbung ist dort zwar erwähnt, aber … gibt es einen Grund, speziell die ImageIO-Rückgaben nicht als BufferedImage abzulegen? (Ein Argument könnte sein: “Manche Funktionen erwarten/liefern Image, und andere BufferedImage - den Unterschied zu erklären oder da ins Detail zu gehen könnte “off topic” für den Eintrag sein…”)


#2

Gibt es wahrscheinlich nicht. Aber ich sehe es so: wenn ich die Eigenschaften eines BufferedImages nicht brauche oder ein solches Objekt manipuliere, also letztendlich nicht mit einem BufferedImage arbeite, lege ich mir nur ein “Standard”-Image in den Speicher.
Ich brauchte bisher noch kein BufferedImage. Es gibt sicher Einsatzzwecke, aber die einfache Anzeige von Bildern in GUIs ist es sicher nicht.


#3

also so wie die bekannte Frage List vs. ArrayList


#4

Einerseits ja. Andererseits finde ich “lästig”, dass man bei Image schon bei “getWidth” einen ImageObserver übergeben muss (und DIE Methode braucht man schon oft). Man könnte jetzt argumentieren, dass man, dort, wo man sie braucht, meistens auch irgendeinen ImageObserver zur Hand hat, oder man auch einfach “null” übergeben kann, und das funktioniert, weil es ja ein BufferedImage IST. Aber … naja, war nur so ein Gedanke.