Discussion:
Grafik
(zu alt für eine Antwort)
Martin Schade
2016-11-25 11:56:37 UTC
Permalink
Sagt mal,

haben die ~ es inzwischen geschafft, GDI+ und OpenGL offiziell zu
unterstützen? Das man das selber einbinden kann, ist mit bekannt.

Grüße, Martin Schade
Hans-Peter Diettrich
2016-11-25 20:44:22 UTC
Permalink
Post by Martin Schade
Sagt mal,
haben die ~ es inzwischen geschafft, GDI+ und OpenGL offiziell zu
unterstützen? Das man das selber einbinden kann, ist mit bekannt.
Welche Art Unterstützung stellst Du Dir vor?
Die ganze VCL und alle Controls umschreiben?

DoDi
Martin Schade
2016-11-30 07:29:19 UTC
Permalink
Post by Hans-Peter Diettrich
Post by Martin Schade
haben die ~ es inzwischen geschafft, GDI+ und OpenGL offiziell zu
unterstützen? Das man das selber einbinden kann, ist mit bekannt.
Welche Art Unterstützung stellst Du Dir vor?
Die ganze VCL und alle Controls umschreiben?
Eigentlich genügt es tCanvas umzustellen, bzw. einen tCanvas für GDI+ und
OpenGL abzuleiten - so, daß der dann auch in allen Komponenten, die tCanvas
enthalten, verfügbar ist.

Grüße, Martin Schade
Hans-Peter Diettrich
2016-11-30 15:00:00 UTC
Permalink
Post by Martin Schade
Post by Martin Schade
haben die ~ es inzwischen geschafft, GDI+ und OpenGL offiziell zu >
unterstützen? Das man das selber einbinden kann, ist mit bekannt.
Welche Art Unterstützung stellst Du Dir vor?
Die ganze VCL und alle Controls umschreiben?
Eigentlich genügt es tCanvas umzustellen, bzw. einen tCanvas für GDI+
und OpenGL abzuleiten - so, daß der dann auch in allen Komponenten, die
tCanvas enthalten, verfügbar ist.
Damit ändert sich aber sonst nichts, der kleinste Nenner für allgemeine
Controls bleibt GDI. Wenn die zusätzlichen Möglichkeiten von GDI+ oder
OpenGL auch benutzt werden sollen, muß das in den Code eingebaut werden,
mit neuen Properties etc.

DoDi

Achim Kalwa
2016-11-26 16:24:48 UTC
Permalink
Post by Martin Schade
haben die ~ es inzwischen geschafft, GDI+ und OpenGL offiziell zu
unterstützen? Das man das selber einbinden kann, ist mit bekannt.
Grüße, Martin Schade
Für GDI+ sind seit mindestens XE7 entsprechende Units dabei:

Winapi.GDIPAPI.pas
Winapi.GDIPOBJ.pas
Winapi.GDIPUTIL.pas

Winapi.OpenGL.pas
Winapi.OpenGLext.pas

Kurzes Beispiel für GDI+ (unvollständig!)

var
aGraphics : TGPGraphics;
aPen : TGPPen;
aBrush : TGPBrush;
R : TGPRectF;

begin
...
R.X := 0;
R.Y := 0;
R.Width := TPaintBox(Sender).ClientWidth-1;
R.Height := TPaintBox(Sender).ClientHeight-1;
aGraphics := TGPGraphics.Create(TPaintBox(Sender).Canvas.Handle);
aPen := TGPPen.Create(MakeColor(0, 0, 128), 2);
aBrush := TGPSolidBrush.Create(MakeColor(200, 100, 100));

aGraphics.SetSmoothingMode(SmoothingModeAntiAlias8x8);
aGraphics.FillEllipse(aBrush, R);
aGraphics.DrawEllipse(aPen, R);
...

Meintest Du so etwas?!

Achim
Lesen Sie weiter auf narkive:
Loading...