Multilayer-Zeichnungen
-
Hallo,
Auf ein Hintergrundbild soll eine Strichzeichnung gezeichnet werden.
Das ist mit Canvas trivial.Das Problem ist nun, dass sich die Strichzeichnung bewegen soll auf dem Hintergrundbild waehrend das Hintergrundbild statisch bleibt.
Da das Hintergrundbild ziemlich gross ist (> 100 MB) sollte vermieden werden, dass bei Aenderungen der Strichzeichnung auch das Hintergrundbild neu gezeichnet wird.
Habt Ihr irgendwelche Anregungen?
-
hallo,
wir haben in der vorlesung alles was wir in canvas gezeichnet haben, gleichzeitig in eine datei gesichtert.
(da wenn ein anderes Fenster aktiviert wird und über meinem fenster liegt
geht ja alles verloren, in dem fall wir die date eingelesen)
du könntest ja das hintergurundbild in ner datei schreiben, dann brauchst es nicht immer neu zeichnen zu lassen nur aus der datei zu laden.
die genauen befehle kann ich dir leider nicht sagen ..
hoffe geholfen zu haben ..
chris
-
nur das neu zeichnen, was von der strichgrafik ueberdeckt wird.
-
Der Ansatz mit der Datei ist leider viel zu langsam, da wie gesagt die Datei über 100 MB gross ist.
Die Idee mit den Strichen, die man ueberzeichnet mit dem Hintergrundbild ist sicher performant.
Allerdings wird das sehr komplex.Gibt's weitere Ideen?
-
markus.r schrieb:
Allerdings wird das sehr komplex.
Nicht unbedingt. Siehe z.B. pmXor/pmNotXor von TCanvas::Pen::Mode.
-
Danke, das klingt sehr gut:
Könnte man dann z.B. die Bildinformationen aus einer Kopie des 1. Bilder rekonstruieren?
gut gut

-
nur so eine Idee:
du könntest auch zwei Bilder übereinander legen und beim oberen die Tranzparenz
einschalten. Am besten vorher mit einer Farbe füllen, die nicht verwendet wird.Image1->Canvas->Brush->Color = clLime; Image1->Canvas->Rectangle(0,0, Image1->Width, Image1->Height); Image1->Picture->Bitmap->TransparentColor = clLime; Image1->Transparent = true;
-
DaS klingt schön einfach.
Wie lege ich denn zwei Bilder uebereinander?
In meinen bisherigen Versuchen habe ich leider nur geschafft, dass ich ein Bild in das andere zeichnen konnte.
-
haste es denn mal mit pmXor versucht? das wäre das gleiche, wie die auswahl- und markierungsrechtecke in zeichenprogrammen.
was programmierst du denn fuer eine anwendung die solche riesigen bilddaten verarbeitet, wenn man fragen darf?