![]() |
[Andorra] TAdTextureSurface transparent
Hallo,
ich beschäftige mich gerade mit dem TAdTextureSurface von Andorra. Mit folgender procedure erstelle ich das TAdTextureSurface
Delphi-Quellcode:
Nun möchte ich nur den Text auf mein AdDraw zeichnen.MyTextCanvas2 := TAdTextureSurface.Create(AdDraw); MyTextCanvas2.SetSize(128,1024); MyTextCanvas2.ClearSurface(clwhite); MyTextCanvas2.Canvas.Font := AdDraw.Fonts.GenerateFont('Arial',9,[],clblack,0,0,0,0); MyTextCanvas2.Canvas.Pen.Color := ColorToAdColor(clBlack); MyTextCanvas2.Canvas.TextOut(20,30,'Z1-testTest'); MyTextCanvas2.Canvas.TextOut(20,30,'Z2-testTest'); MyTextCanvas2.Canvas.TextOut(20,30,'Z3-testTest'); MyTextCanvas2.Canvas.Release;
Delphi-Quellcode:
wie kann ich das machen?
MyTextCanvas2.Image.Draw(AdDraw,1,1,0);
//oder MyTextCanvas2.Image.DrawAlpha(..... Ich bekomms einfach nicht hin. Kann man MyTextCanvas2.image eine Transparente Farbe zuweisen? Ähnlich wie bei LoadGraphicFromFile |
Re: [Andorra] TAdTextureSurface transparent
Versuche anstatt MyTextCanvas2.ClearSurface mal folgendes:
Delphi-Quellcode:
MyTextCanvas2.Activate;
AdDraw.AdAppl.ClearSurface(MyTextCanvas2.Scene.Viewport, [alColorBuffer, alZBuffer, alStencilBuffer], Ad_ARGB(0, 255, 255, 255), 1, 0); |
Re: [Andorra] TAdTextureSurface transparent
Besten Dank es funktionieren.
|
Re: [Andorra] TAdTextureSurface transparent
Hallo,
ich muss doch noch mal nachfragen. Mit folgender Procedure zeichne ich auf das Surface eines Sprites:
Delphi-Quellcode:
das funktioniert auch prima auf einem Monitor.
procedure TSpriteStripe.DoDraw;
begin inherited DoDraw; MyTextCanvas2.Image.Draw(engine.Surface, round(WorldX) ,1 ,0); engine.Surface.Canvas.Release; end; Nur bei einem 2Monitor Sytem wird auf dem 2`ten Monitor nichts gezeichnet. Genau gesagt die Sprites werden gezeichnet aber "MyTextCanvas2.Image" wird nicht auf das Sprite gezeichnet. Es ist auch egal welche X koordinate ich verwende(X, WorldX, BoundsRect.left .....) immer das selbe. was mache ich da was falsch? |
Re: [Andorra] TAdTextureSurface transparent
Ich hab`s,
bei den 3D eEinstellungen der Grafikkarte (NVIDIA) muss "Multi-Display/gemischte GPU Beschleunigung" auf "Kompatibilitäts-Leistungs-Modus" eingestellt werden. Dann klaptt die Anzeige auf 2 Bildschirmen. Kann ich diese Einstellung in meinem Programm abfragen bzw auch einstellen? [Nachtrag] den Registryeintrag findet man unter: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\Video\{.............}\0000\OGL_MultiMonConfig Typ: REG_BINARY Wert: 01 00 00 00 (für den Kompatibilitäts-Leistungs-Modus) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz