Hallo,
ich habe eine ganze Reihe von Fragen zu den Omega Primitiven und Texturen und hoffe, dass mir jemand helfen kann:
Grundproblem: Ich will eine neue Komponente implementieren, welche von einem Panel abgeleitet ist und auf diesem Panel sollen aufgrund von hinterlegten Daten Pfeile und Kreise gezeichnet werden. Diese Kreise sollen im weiteren Verlauf mit Hilfe der Maus auf dem Panel verschoben werden können. Für diese Verschiebungen reichen die Bordmittel von Delphi nicht aus und daher habe ich mich im Internet umgesehen und Omega gefunden.
Um das Problem zu implementieren wollte ich die folgenden Omegaprimitiven nutzen:
Circle(x, y, r: single; col: TOmegaColor);
Polygon(v: array of TPoint; col: TOmegaColor);
Beim ersten austesten sind mir die folgenden Fragen gekommen:
1) Ich hatte bei Circle gehofft, das ich mit x,y die Koordinaten der Pixel und mit r den Radius in Pixeln einstellen könnte. Jedoch wird die Position meines Kreises Relativ zur Größe des Panels eingestellt und damit auch verzerrt. Was gibt den nun x,y und r an und gibt es eine Möglichkeit, dass ich den Kreis wie oben beschrieben nach meinen Wünschen (Pixelkoordinaten) zeichnen kann?
2) Da die Grafik nur in auf einem Panel laufen soll, würde ich wenn möglich, gerne die CPU Auslastung von 100% (onTimer) verringern. Welche Möglichkeiten gibt es hierfür.
3) Um den Kreisen und Pfeilen ein besseres Aussehen zu verpassen, würde ich gerne diese als Relief zeichnen lassen. Soweit ich im Internet gesehen habe müsste sowas doch mit Hilfe von Texturen --> Bump Maps möglich sein. Wie kann Relief Texturen erzeugen und auf die Primitiven anwenden?
Ich verbleibe in der Hoffnung, dass einer in diesem Forum meine Anfängerfragen beantworten kann ....
Viele Grüsse
The Juggler