T
Hallo Leutz,
Ich bin wiedermal beim Basteln an meiner Bildverarbeitungsanwendung. Ich habe dort Bilder mit 20496 Pixeln Breite. Jetzt male ich dort Overlays rein (Intensitätsprofile, Markierungen u.s.w.). Mir gehen langsam die Iden aus, weil jede Variante eine andere Schwachstelle hat. Achja, Ruckelfrei sind alle, da ich WM_ERASEBKGND abfange und den evtl. leeren Bereich "von Hand" überschreibe:
1.) ich Zeichne alle overlays nach der Image Visualisiertung rein
Vorteil: schön schnell
Nachteil: Ich muß beim Zoomen und auch beim Zeichnen ständig hin und
herrechnen. Das mag jetzt gehen, aber Zwecks Erweiterung der
Overlayfunktionen ist das Sch... - nicht schön
2.) ich Zeichne in den DC, in den das Bitmmap selektiert ist
Vorteil: alles wird mit dem Bild mitgezoomed
Nachteil: ich muß die Originaldaten vorrätig halten, damit ich nach Löschen
eines Overlays wieder "überschreiben" kann (CopyImage(...)) und das
dauert bei der Bildgröße.
3.) ich kreiere ein Offscreen Mem DC extra für die Overlays und Blitte das dann transparent über das Originalbild.
Vorteil: alles wird mit dem Bild mitgezoomed
Nachteil: Markierungen sehen manchmal durch den transparenten Blit (jeh nach
Bild) etwas komisch aus. Ist auch nicht besonders schnell, wenn das
Offscreen Bitmap mal komplett neu gezeichnet werden muß
Ich verwende derzeit Variante 3. Ich find bei 2 u. 3 eben schön das ich immer nur mit Originalkoordinaten arbeiten kann. Schade ist die etwas schlechte Performance und der verplemperte Speicher. Wenn mir nichts besseres einfällt werde ich wohl zu 1.) zurückkehren.
Vielen Dank,
TheBigW