AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Zeichnen auf Canvas und ZOrder bzw. Übermalen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichnen auf Canvas und ZOrder bzw. Übermalen

Ein Thema von EWeiss · begonnen am 2. Apr 2015 · letzter Beitrag vom 2. Apr 2015
 
Popov
(Gast)

n/a Beiträge
 
#21

AW: Zeichnen auf Canvas und ZOrder bzw. Übermalen

  Alt 2. Apr 2015, 13:10
Geht wohl nicht mit Boardmitteln...
Das ist wie mit Ockhams Rasiermesser: "Von mehreren möglichen Erklärungen desselben Sachverhalts ist die einfachste Theorie allen anderen vorzuziehen." Letztendlich stellte sich nie wirklich die Frage wo das Problem liegt, denn es konnte nur Pen.Mode sein. Pen.Mode macht so einen Sch...

Der Bösewicht findet sich in der Prozedur PrepareScale:
Delphi-Quellcode:
procedure TGraph.PrepareScale;
var
  gray: Integer;
begin
...
  // Koordinatenkreuz
  Image.Canvas.Pen.Mode := pmNotXor; //<<<--- hier
  Image.Canvas.MoveTo(xxc(xMin), yyc(0));
  Image.Canvas.LineTo(xxc(xMax), yyc(0));
...
Einmal eingestellt beleibt es über Prozeduren bestehen.


//EDIT:

Sorry, hab deinen letzten Beitrag #20 vor meinem Beitrag nicht gelesen. Anscheinend hast du schon selbst das Problem gefunden.
Zitat:
Aber würde mich trotzdem nochmal interessieren warum Pen.Mode und bsClear sich im Wege stehen...
Tun sie nicht. Zuerst mal, pmMergeNotPen war nur eine Möglichkeit, der Hinweis war, dass es Pen.Mode sein muss. Was Pen.Mode angeht, so hat er im Grunde keine Auswirkung auf bsClear. bsClear entscheidet ob ein Objekt eine Füllung hat oder nicht (oder Muster). Hat es keine Füllung, gilt im Objekt der alte Hintergrund. Aber das weißt du ja. Somit hat Pen.Mode keinen Einfluss auf Brush, er richtet sich einfach nach dem was im Hintergrund ist. Standardmäßig ist pmCopy eingestellt. Mit pmCopy zeichnet Pen mit der eingestellten Color Farbe. Ist pmBlack eingestellt, wird immer schwarz gezeichnet. Bei pmNotXor wird eine Farbe genommen die weder Pen Farbe ist, noch im Hintergrund vorkommt. Pen prüft also bevor es zeichnet die Farbe des Hintergrudes.

Also, Pen.Mode hat mit bsClear nichts zu tun.

Geändert von Popov ( 2. Apr 2015 um 13:30 Uhr)
  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 15:15 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