Jpeg zeichnen ohne flimmern



  • Hallo Leute,

    In einem Dialogfeld zeichne ich ein Hintergrundbild und davor verschiedene andere jpg's. Nun rufe ich in der OnPaint() die eine Routine auf um diese Bilder neu zu zeichnen . Durch die Anzahl der Bilder ist jedoch immer das zeichnen der einzelnen Bilder zu sehen (Flimmern) .

    void bildDlg::OnPaint()
    {
       Bildermalen();
       ...
    
    }
    

    Kann man nicht die Bilder in den Speicher laden bevor dieser gezeichnet wird ?

    Danke im voraus
    Linus



  • Du könnest alles zuers in einen Memory-DC zeichen.
    Und wenn alles fertig ist dann gib den Memory-DC als
    dein Hintergrundbild aus.



  • Hallo

    so etwa mußte es funktioneren. Ich dachte nur , dass OnPaint nicht sofort in den Bildschirm schreibt . also folgendes wäre dann zu machen:

    1. Speicher reservieren
    2. Bilder in den Speicher zeichnen
    2. Speicher in den Bildschirmspeicher kopieren

    habe nur keine ahnung wie man das macht
    Wälze mich schon mal durch die literatur.
    wenn du jedoch weist wie man das macht wäre ich dir sehr dankbar.

    Danke
    Linus



  • Hallo

    Hab die antwort gefunden.

    'Double buffering'

    http://www.codeproject.com/vcpp/gdiplus/gdiplus.asp?df=100


Anmelden zum Antworten