AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Linie zeichnen, ohne das Bitmap zu 'beschädigen'
Thema durchsuchen
Ansicht
Themen-Optionen

Linie zeichnen, ohne das Bitmap zu 'beschädigen'

Ein Thema von mhuck · begonnen am 12. Feb 2007 · letzter Beitrag vom 19. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#1

Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 12. Feb 2007, 12:15
Hallo,

ich brauche für ein grafisches Analyseprogramm ein großes Cursor-Fadenkreuz. Gibt es eine einfache Prozedur, um so ein Fadenkreuz selbst mit Linien zu zeichnen, wobei das darunterliegende Bitmap natürlich bei jeder Bewegung dieses Fadenkreuzes wiederhergestellt werden soll ?!

Matthias Huck
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 12. Feb 2007, 12:27
Nimm ein zweites Bitmap.
Beim malen des Kreuzes malst du zuerst das originale Bitmap und dann darauf dein Fadenkreuz.
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#3

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 12. Feb 2007, 13:06
Das heißt, du würdest bei jeder Bewegung des Fadenkreuzes einfach das komplette Bitmap neu kopieren ? Ich hätte nicht gedacht, daß das schnell genug geht, aber ich werde es mal versuchen ...

Danke
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 12. Feb 2007, 13:17
Das Kopieren des Bitmaps ist eine Speicher-Operation, von daher sollte sie schnell gehen (BitBlt wäre das Stichwort). Aus diesem Grund benutzt man ja auch Bitmaps beim DoubleBuffering => male auf ein Bitmap und kopiere das dann auf das Canvas um Flackern zu vermeiden.
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 12. Feb 2007, 13:25
Noch eine Möglichkeit, mit pmNotXor kann seine gezeichnete Linie wieder löschen.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin//Kreuz Zeichnen
  Image1.Picture.Bitmap.Canvas.Pen.Mode:= pmNotXor;
  Image1.Picture.Bitmap.Canvas.MoveTo(0, 16);
  Image1.Picture.Bitmap.Canvas.LineTo(32, 16);
  Image1.Picture.Bitmap.Canvas.MoveTo(16, 0);
  Image1.Picture.Bitmap.Canvas.LineTo(16, 32);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin//Kreuz wieder löschen
  Image1.Picture.Bitmap.Canvas.Pen.Mode:= pmNotXor;
  Image1.Picture.Bitmap.Canvas.MoveTo(0, 16);
  Image1.Picture.Bitmap.Canvas.LineTo(32, 16);
  Image1.Picture.Bitmap.Canvas.MoveTo(16, 0);
  Image1.Picture.Bitmap.Canvas.LineTo(16, 32);
end;
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 12. Feb 2007, 13:25
Das ist die beste Methode. Nur muss für das normale Zeichnen pmCopy verwendet werden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#7

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 13. Feb 2007, 11:24
Danke,
beide Methoden kann ich an bestimmten Stellen meines Programms gebrauchen !

Noch eine Frage:
Die Hilfe von Delphi 2005 scheint ziemlich unvollständig zu sein; über diese Sachen finde ich überhaupt nicht. Kann mir jemand sagen, wo man sich in Sachen Grafikfunktionen informieren kann ? Oder übersehe ich in der Hilfe etwas ?
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
Benutzerbild von TonyR
TonyR

Registriert seit: 17. Jun 2006
Ort: Bautzen
503 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 13. Feb 2007, 11:52
ein bisschen was steht bei dsdt.info zu bitmaps und zeichnen!
Es ist unmöglich, witzig zu sein ohne ein bisschen Bosheit. Die Bosheit eines guten Witzes ist der Widerhaken, der ihn haften lässt. - Georg Christoph Lichtenberg
  Mit Zitat antworten Zitat
mhuck

Registriert seit: 17. Jun 2005
18 Beiträge
 
Delphi 6 Personal
 
#9

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 13. Feb 2007, 12:45
Ja, das hatte ich schon gefunden.
Ich bin etwas schockiert, daß in der (neueren) Delphi-Hilfe grundlegende Begriffe nicht mehr erklärt werden; z.B. gibt die Suche nach 'TColor' keinen einzigen Treffer, und das gilt für viele Begriffe.
Ist das ein allgemein bekanntes Problem, daß die Hilfe schlechter geworden ist ?
Ich meine z.B., daß bei meinem alten Delphi6 viel mehr drin stand als bei Delphi 2005....
MfG,
Matthias Huck, Oelde
  Mit Zitat antworten Zitat
Benutzerbild von halinchen
halinchen

Registriert seit: 13. Jun 2006
508 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Linie zeichnen, ohne das Bitmap zu 'beschädigen'

  Alt 16. Feb 2007, 10:40
Hi!

Ich habe gerade deinen letzen Beitrag gelesen.
Auf http://www.freeware.de habe ich durch Zufall die Hilfe von Delphi 7 für Delphi 2005 gesehen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:56 Uhr.
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