Overlays "schön" malen



  • 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


Anmelden zum Antworten