AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Text Overlay

Ein Thema von EWeiss · begonnen am 30. Mär 2015 · letzter Beitrag vom 30. Mär 2015
 
EWeiss
(Gast)

n/a Beiträge
 
#1

Text Overlay

  Alt 30. Mär 2015, 16:03
Ich zeichne auf Image.canvas und möchte nun einen Text überlagern ohne das dieser gelöscht wird.
Wie gehe ich da am besten vor?

Betrifft das Projekt
http://www.delphipraxis.net/184476-p...-new-post.html

Irgendwo hier in ein Bitmap kopieren?

Delphi-Quellcode:
procedure TForm1.btnHelpClick(Sender: TObject);
var
  Txt: string;
  R: TRect;
begin

  if not HelpIsOn then
  begin
        Image1.Canvas.Font.Name := 'Consolas';
        Image1.Canvas.Font.Size := 10;
        Image1.Canvas.Font.Style := [fsBold];
        Txt := Txt + ' ' + sLineBreak + sLineBreak;
        Txt := Txt + ' Anleitung' + sLineBreak + sLineBreak;
        Txt := Txt + ' 1. Set drücken' + sLineBreak;
        Txt := Txt + ' 2. Run drücken' + sLineBreak;
        Txt := Txt + ' 3. Abwarten, zuschauen' + sLineBreak;
        Txt := Txt + ' 4. Kick X oder Kick Y drücken - spielen,' + sLineBreak;
        Txt := Txt + ' zuschauen ' + sLineBreak;
        Txt := Txt + ' 5. Stop drücken' + sLineBreak;
        Txt := Txt + ' 6. Roten oder schwarzen Punkt mit der Maus ' + sLineBreak;
        Txt := Txt + ' verschieben ' + sLineBreak;
        Txt := Txt + ' 7. Run drücken, weiterspielen' + sLineBreak;
        Txt := Txt + ' 8. Break oder Ende in der IDE' + sLineBreak;
        Txt := Txt + ' 9. Parameter D in SetParam ändern: 0 bis 10000' + sLineBreak;
        Txt := Txt + ' 10. Neu starten, weiterspielen' + sLineBreak;
        Txt := Txt + ' 11. Code nach .Net übersetzen oder Code' + sLineBreak;
        Txt := Txt + ' nach eigenen Vorstellungen erweitern' + sLineBreak;
        Txt := Txt + ' 12. Kluge Bemerkungen im Forum machen, den' + sLineBreak;
        Txt := Txt + ' Autor mit Lob überhäufen, Kritik üben :-)' + sLineBreak;
        Txt := Txt + ' ' + sLineBreak;
        Txt := Txt + ' 99. ? drücken um den blöden Text wegzumachen' + sLineBreak;

        R := Rect(Graph.xxc(Graph.xMin), Graph.yyc(Graph.yMax), Graph.yyc(Graph.yMin),Graph.xxc(Graph.xMax) );

        Image1.Canvas.FillRect(R);
        DrawText(Image1.Canvas.Handle, PWideChar(Txt), -1, R, DT_LEFT);
        HelpIsOn := True
    end else
    begin
      Graph.PrepareScale;
      Graph.Draw;
      HelpIsOn := False;
    end;
end;
Mein Problem ist das ich im weiteren verlauf um die Grafik neu zu zeichnen.
Die alte mit
Delphi-Quellcode:
  // Hintergrund löschen
  Image.Canvas.FillRect(Image.Canvas.ClipRect);
lösche.
Der Text wird dann natürlich auch gelöscht.


gruss
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:53 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