Schnellste Methode ein halbtransparentes Rechteck mit Canvas zu zeichnen?



  • Hi!
    Ich programmiere (mal wieder) einen Leveleditor für etwas und möchte nun am liebsten das manche Felder verdunkelt werden (weil Sie z.B. nicht betretbar sind). Da ich es eh schon verhindert hab das die Karte mit jedem Scrolling komplett neu gezeichnet wird und der Editor auch so schon recht flüssig läuft wollte ich mal fragen, ob es möglich ist möglichst schnell ein Feld verdunkelt darzustellen. Es handelt sich bei der Karte um eine PaintBox auf das ich Abschnitte eines Bildes draufzeichne. Danach wollte ich etwa halbtransparent schwarze Rechtecke über manche Felder zeichnen.

    Geht das irgendwie einigermaßen schnell als mit Canvas->Pixels[][] alles einzeln zu verdunkeln?



  • Mal unabhängig von der Transparenz: ScanLine ist bis zu 30mal schneller als Pixels.



  • Schon, aber für den Fall den ich brauche nicht einsetzbar. Ich muss die Verdunklung auf der Paintbox haben und dort gibt es scheinbar keine ScanLines. Das Bild selber verdunklen geht auch nicht da das für mein Einsatzbereich nicht nützlich währe



  • Was hindert dich daran, das Zeichnen auf einem Offscreen-Bitmap auszuführen und das Ergebnis auf die Paintbox zu kopieren?


Anmelden zum Antworten