Graphics Klasse

Status
Nicht offen für weitere Antworten.

pornopizza

Mitglied
Hallo erstmal,

ich bin ein wenig am zögern inwiefern die Graphics Klasse benutzbar is und inwiefern man sich evtl eine eigene schreiben kann.
Was ich für Probleme mit der Graphics Klasse habe:
Die Graphics Klasse von sun malt keine Punkte(klar, man kann ein Rechteck malen mit breite und höhe 1 aber das ist ja vermutlich ne ganze ecke langsamer als einen punkt zu malen)

Was aber viel schlimmer ist bzw eigentlich mein Hauptproblem: ich kann keine Pixel an bestimmten Stellen lesen. Wenn das ginge, könnt ich über die anderen Probleme gut hinwegsehen. Oder kann man das doch und ich weiß nichts davon? Graphics2D kann das soweit ich das weiß ja auch nicht.

Macht es Sinn eine eigene graphics Klasse zu schreiben, die einfach farbwerte in nem array speichert(am besten gleich gar ned mit Color arbeiten, weil man da ja ständig am Objekte erzeugen ist, sobald man neue Farben braucht). Dann würde ich die benutzen und erst zum Schluss zum alles wieder in ein Graphikobjekt zeichnen? Das mag umständlich klingen aber bei einer großen Menge von Berechnungen ist das doch vielleicht sogar schneller.

Wie löst man das Problem am besten, dass man keine pixel lesen kann? Und wie macht man das mit der Ausgabe dann am geschicktesten, wenn man eine eigene graphics Klasse nutzt?

Gruß
porno
 

Marco13

Top Contributor
Hm. Eine eigene Graphics-Klasse klingt gewagt - und spontan würde ich sagen, dass das "quasi unmöglich" ist. Man bekommt (z.B. bei einem Aufruf von paintComponent(..)) ja ein Graphics-Objekt sozusagen(!!!) "vom Betriebssystem" - wie und wo man da seine eigene Implementierung einschleusen sollte, ist mir schleierhaft.

Ein möglicher ansatz wäre wohl, alles, was gezeichnet werden soll, in das Graphics-Objekt zu zeichnen, das man von einem BufferedImage bekommt (quasi double-buffering par Hand). Das BufferedImage erlaubt ja dann das Setzen und Auslesen einzelner Pixel.... Etwa(!) so....
Code:
class Foo extends JPanel
{
   private BufferedImage image = ...

   public void paintComponent(Graphics g)
   {
       Graphics2D bg = image.createGraphics();
       super.paintComponent(bg);

       image.setRGB(....);
       int rgb = image.getRGB(...);
 
       g.drawImage(image, 0,0,this);
    }
}
 

pornopizza

Mitglied
Klingt gut, versuche ich mal gerade, melde mich dann wieder

Mit eigener grafikklasse meinte ich eigentlich auch nur ein Objekt, dass die pixelfarben speichert. dann müsste man den ganzen kram nachher natürlich wieder in ein grafikobjekt vom typ Graphics schreiben(ziemlich verschwenderisch^^)
 

pornopizza

Mitglied
Ok funktioniert. Is aber irgendwie tierisch umständlich gemacht wie ich finde. Naja gut kann man ja vereinfachen, wenn man das BufferedImage extended. Vielen Dank =)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Hashmap mit 2D Graphics Spiele- und Multimedia-Programmierung 7
FunnyO Graphics fillOval weiche Kanten Spiele- und Multimedia-Programmierung 8
kaoZ Graphics Objekt liefert null Spiele- und Multimedia-Programmierung 14
S Graphics Objekt weiterreichen? Spiele- und Multimedia-Programmierung 4
Steev Eigener Graphics-Context Spiele- und Multimedia-Programmierung 10
S Graphics.drawString (Graphics2D.drawString) Y-Problem Spiele- und Multimedia-Programmierung 4
G Wie bekomme ich einen Punkt (Graphics) Spiele- und Multimedia-Programmierung 2
K stringWidth bei Graphics von JPanel und Printer unterschiedl Spiele- und Multimedia-Programmierung 4
N Performance Problem bei mit Graphics Spiele- und Multimedia-Programmierung 6
V Graphics oder Graphics2D Zeichenfunktion gesucht? Spiele- und Multimedia-Programmierung 4
G Einen gif oder jpg Datei aus einem Graphics Objekt o. JFrame Spiele- und Multimedia-Programmierung 2
O transparente farbe in Image mit Graphics Spiele- und Multimedia-Programmierung 8
G Graphics bei Java aufteilen Spiele- und Multimedia-Programmierung 3
C Graphics 2D Zeichnen Spiele- und Multimedia-Programmierung 4
F einzelne Polygone(Graphics) schneller als and. Fig. zeichnen Spiele- und Multimedia-Programmierung 3
T MouseMotionListener aus anderer Klasse verwenden. Spiele- und Multimedia-Programmierung 1
J Fertigungstechnik.. PLS HALP.. Quellcode vom Text in java-Klasse speichern Spiele- und Multimedia-Programmierung 2
H Zugreifen/Benutzen anderer Variable aus anderer Klasse Spiele- und Multimedia-Programmierung 1
C Java aus Klasse rausgehen Spiele- und Multimedia-Programmierung 2
Arif Maus-Objekt im Player Klasse implementieren !? Spiele- und Multimedia-Programmierung 2
S Eigene Klasse vec_t - 3 oder 4 Einheiten für x, y, z und w Spiele- und Multimedia-Programmierung 11
H Objekt der Klasse A in der Klasse B verwenden und manipulieren Spiele- und Multimedia-Programmierung 6
T Alle Referenzen zu einer Klasse aus Java Bytecode ersetzt, JVM sucht trotzdem diese Klasse Spiele- und Multimedia-Programmierung 1
K Klasse schließen & Kugelposition Spiele- und Multimedia-Programmierung 2
R Savegame als Datei, welche API-Klasse benutzen Spiele- und Multimedia-Programmierung 8
M Variable die eine Klasse enthält ändern Problem Spiele- und Multimedia-Programmierung 16
B String zu Objekt einer eigenen Klasse casten Spiele- und Multimedia-Programmierung 13
T Java-Klasse für Spielfeld? Spiele- und Multimedia-Programmierung 2
G Was bewirkt die Klasse AxisAngle4d genau? Spiele- und Multimedia-Programmierung 12
G Polygon mittels der Klasse PathIterator Koordinateneckpunkte Spiele- und Multimedia-Programmierung 1
S Zur Laufzeit auf die Methode einer anderen Klasse zugreifen Spiele- und Multimedia-Programmierung 5
B Keine Graphics2D Klasse unter J# .Net??? Spiele- und Multimedia-Programmierung 6

Ähnliche Java Themen

Neue Themen


Oben