Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   DrawText gestretcht (https://www.delphipraxis.net/176718-drawtext-gestretcht.html)

EWeiss 22. Sep 2013 14:07

DrawText gestretcht
 
Wie kann ich verhindern das ein Text der mit DrawText gezeichnet wird
in einer Scene die gestretcht ist, ebenfalls gestretcht wird.

gruss

Der schöne Günther 22. Sep 2013 14:23

AW: DrawText gestretcht
 
Ich weiß ja nicht, in was für einer Szene du so unterwegs bist, aber was ist hier die "Scene"? :|

EWeiss 22. Sep 2013 14:33

AW: DrawText gestretcht
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1229496)
Ich weiß ja nicht, in was für einer Szene du so unterwegs bist, aber was ist hier die "Scene"? :|

Du bist wirklich schön.. schön daneben.
Nicht das ich deine Rechtschreibung mal korrigiere.
Irgendwas zur sache, was weiterhelfen könnte?

Nur nebenbei ist trotzdem richtig!
Render scene


gruss

Zacherl 22. Sep 2013 15:29

AW: DrawText gestretcht
 
DirectX DrawText oder GDI? Und was genau verstehst du unter gestrechter Scene?

Wenns um DirectX geht, wirst du da meiner Erfahrung nach mit einfachen Mitteln keinen Erfolg haben. Eventuell könnte es über Offscreen Surface Rendering funktionieren.

EWeiss 22. Sep 2013 15:37

AW: DrawText gestretcht
 
Zitat:

Zitat von Zacherl (Beitrag 1229505)
DirectX DrawText oder GDI? Und was genau verstehst du unter gestrechter Scene?

Wenns um DirectX geht, wirst du da meiner Erfahrung nach mit einfachen Mitteln keinen Erfolg haben. Eventuell könnte es über Offscreen Surface Rendering funktionieren.

Zitat:

Gestretchter scene
Ein in einer Auflösung <> Viewport gestretchtes Bitmap mit StretchBlt
Drawtext GDI

Delphi-Quellcode:
procedure TBASSSoVis.OutlinedDrawText(Canvas: TCanvas; r: TRect;
  const Text: string; OutlineColor: TColor);
var
  OldBrushStyle: TBrushStyle;
  OldFontColor : TColor;

begin
   with Canvas do
   begin
      Lock;
      OldFontColor := Font.Color;
      Font.Color := OutlineColor;
      OldBrushStyle := Brush.Style;
      Brush.Style := bsClear;
      Font.Color := OldFontColor;
    DrawText(Canvas.Handle, PWideChar(Text),
             Length(PChar(Text)), r, DT_BOTTOM or DT_END_ELLIPSIS);
      Brush.Style := OldBrushStyle;
      Unlock;
   end;

end;
gruss

Perlsau 22. Sep 2013 15:39

AW: DrawText gestretcht
 
Zitat:

Zitat von EWeiss (Beitrag 1229497)
Du bist wirklich schön.. schön daneben.

O-Ton EWeiss:
Zitat:

Ist das hier ein Haudrauf Forum geworden oder was ist hier los.
Kein Beitrag in dem nicht jemand erst mal runtergemacht wird.
Merkst du noch was?

Zacherl 22. Sep 2013 15:55

AW: DrawText gestretcht
 
Bin nicht sicher, ob ich das Problem genau verstehe. Wenn du zuerst das Bitmap mit StretchBlt() zeichnest und danach mit DrawText() die Font hinzufügst, sollte die nachträglich gezeichnete Schrift doch nicht automatisch gestretcht werden :gruebel:

EWeiss 22. Sep 2013 16:10

AW: DrawText gestretcht
 
Zitat:

Zitat von Zacherl (Beitrag 1229510)
Bin nicht sicher, ob ich das Problem genau verstehe. Wenn du zuerst das Bitmap mit StretchBlt() zeichnest und danach mit DrawText() die Font hinzufügst, sollte die nachträglich gezeichnete Schrift doch nicht automatisch gestretcht werden :gruebel:

Ich zeichne zuerst die schrift und stretche dann.
Anders geht es nicht weil die Schrift dann gar nicht mehr gezeichnet wird.
Es ist logisch das sie durch StretchBlt dann verändert wird dachte nur das es vielleicht eine möglichkeit gibt das trotzdem zu verhindern.
Scheint aber ohne ein Overlay nicht zu gehn.

Dann werde ich wohl damit leben müssen. ;)

gruss

DeddyH 22. Sep 2013 16:14

AW: DrawText gestretcht
 
Wie soll man das verhindern? Gestretcht wird alles, was zu dem Zeitpunkt drin ist, wie soll die Funktion auch erkennen, dass es sich um Schrift oder etwas anderes handelt, sie arbeitet ja nur mit Pixeln. Wenn man das nicht will, muss man eben nach dem Stretchen beschriften wie schon gesagt, anders geht es nun einmal nicht.

EWeiss 22. Sep 2013 16:17

AW: DrawText gestretcht
 
Zitat:

Zitat von DeddyH (Beitrag 1229518)
Wie soll man das verhindern? Gestretcht wird alles, was zu dem Zeitpunkt drin ist, wie soll die Funktion auch erkennen, dass es sich um Schrift oder etwas anderes handelt, sie arbeitet ja nur mit Pixeln. Wenn man das nicht will, muss man eben nach dem Stretchen beschriften wie schon gesagt, anders geht es nun einmal nicht.

Es wäre ja vielleicht möglich gewesen das ich hier ein Flag hätte setzen können das mir noch nicht bekannt ist :)
Na ja ansonsten ist schon richtig was du sagst.
Danke.

Zitat:

nach dem Stretchen beschriften
geht nicht weil die Daten in einem Buffer geschrieben werden der außerhalb meiner Reichweite liegt.


gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz