Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Linien auf vorhandenes Bitmap In TImage zeichnen (https://www.delphipraxis.net/92230-linien-auf-vorhandenes-bitmap-timage-zeichnen.html)

Elicia 16. Mai 2007 14:24


Linien auf vorhandenes Bitmap In TImage zeichnen
 
Grüß Euch,

in eine Image-Komponente habe ich ein bmp geladen - darauf versuche ich z.B. Linien zu zeichnen. Ich plage mich schon seit Tagen damit herum - die Linien werden einfach nicht angezeigt.
Mein momentaner Ansatz (auszugsweise):

Delphi-Quellcode:
with Image1.Picture.Bitmap.Canvas do
begin
  Pen.Color := col;
  Pen.Width := 1;
  Pen.Style := psSolid;
  Brush.Style := bsClear;
end;
for i := 1 to cs - 1 do
  with Image1.Picture.Bitmap.Canvas do
  begin
    MoveTo(mp + i*xspace,0);
    LineTo(mp + i*xspace,pbh);
  end;
hab's auch schon mit
Image1.Canvas probiert
eine Speicherbitmap erstellt und in dieser zeichnen lassen, danach ins Image kopiert
eine PaintBox darübergelegt und wollte in der zeichnen - ich krieg's einfach nicht hin :wall: , daß die Linien gezeichnet und angezeigt werden.
Hoffe auf Eure Hilfe und bedanke mich schon mal dafür!
MfG
Elicia

bitsetter 16. Mai 2007 16:13

Re: Linien auf vorhandenes Bitmap In TImage zeichnen
 
Hi,

was sind denn das alles für Variablen, bzw. welche Werte enthalten diese?
Wenn die Werte zu groß oder negativ sind kann es sein, dass die Linien außerhalb des Bildes gezeichnet werden sollen.
Eventuell hast du einer Variablen gar keinen Wert zugewiesen.
Ansonsten hänge dein Projekt doch einfach mal an damit man den Fehler nachvollziehen kann.

Elicia 16. Mai 2007 17:02

Re: Linien auf vorhandenes Bitmap In TImage zeichnen
 
Hi bitsetter,

danke für Deine Antwort :-D !
Weil der Quellcode zu umfangreich ist, wollte ich ein kleines Testprogramm schreiben - dabei FUNKTIONIERT aber alles. Also muß der Fehler irgendwo in meinem Projekt sein - da muß ich jetzt durch!
Danke für Deinen Denkanstoß!

MfG
Elicia

EDIT: bin verzweifelt :cry:
habe das Projekt jetzt schrittweise debuggt - die Linien werden dann wie gewünscht angezeigt, der Code stimmt also
- starte ich das Projekt normal, wird nichts gezeichnet :gruebel:

hoffe sehr auf Eure Hilfe!
MfG,
Elicia

mimi 16. Mai 2007 21:26

Re: Linien auf vorhandenes Bitmap In TImage zeichnen
 
dann poste mal die Inhalte der Variablen, die du benutzt !

bitsetter 16. Mai 2007 21:27

Re: Linien auf vorhandenes Bitmap In TImage zeichnen
 
Ohne Code kann man da wohl nicht groß weiterhelfen oder bestenfalls Vermutungen anstellen. Wenn es beim debuggen geht und sonst nicht wird es wohl noch schwieriger. Dann könnte man zu Testzwecken die Werte mit Hilfe einer Messagebox oder einer Listbox ausgeben lassen.

Wird der Code überhaupt ausgeführt oder wird das Bild danach wieder überzeichnet? Dazu könntest du einfach mal kurz ein
Delphi-Quellcode:
image1.Picture.Bitmap.Canvas.Rectangle(10,10,20,20);
in die Prozedur mit einbauen und mal sehen ob wenigstens das Rechteck angezeigt wird.
Wird im onCreate Ereignis dein Code ausgeführt?

Elicia 17. Mai 2007 09:19

Re: Linien auf vorhandenes Bitmap In TImage zeichnen
 
Hallo,

danke für Eure Antworten!
Hab alle Werte im Debugger überprüft, werden alle richtig übernommen, der Code wird ausgeführt und auch gezeichnet - aber eben nur gezeichnet, wenn ich im Einzelschritt debugge.
Denke mal, das Problem wird nicht aufzuspüren sein.
Habe aber herausgefunden, daß es funktioniert, solange ich alles in einer Unit mache - momentan erhalte ich die Werte aus einem 2.Formular (MDI-Child) - werde das Programm umschreiben!
Danke für Eure Mühe, schönen Sonntag,
mfG,

Elicia


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 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