Wie sammeln Sie einen Abschnitt des canvas auf ein bitmap
Möchte ich einen kleinen Teil davon aufnehmen eines canvas als bitmap. Ist das möglich? Dies ist so, dass ich es ersetzen können, nachdem ich zeichnen einer bitmap auf diesem Gebiet. Sobald ich fertig bin mit der bitmap, die ich ersetzen möchte die kleine Leinwand, die ich zeichnete mit den original-Stück.
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie dies tun, indem Sie
.getImageData()
und.putImageData()
Beispiel
und eine einfache Online-Beispiel, nur du 🙂
Versuchen Sie es Hier
Den
drawImage()
Methode von Kontexten können Sie ein vorhandenes Bild als Quelle. Es erlaubt Ihnen auch, um anzugeben, sub-Regionen von der Quelle "Bild" zu zeichnen. Sie können auch erstellen eines neuen canvas-element programmgesteuert. Kombinieren Sie diese und erstellen Sie Ihre eigenen offscreen-Puffer und blit zu/von Ihnen, ohne durchgetImageData()/putImageData()
oder data-URLs.Habe ich eine Beispiel online.
Beachten Sie, dass während der Beispiel passiert zum Anhängen der dynamisch erstellten canvas-Bereich, um das Dokument, damit Sie es sehen können (Zeile 29 der Quelle), ist dies nicht notwendig. Canvas-Elemente erstellt im document-Funktion, ob angebracht, um die Hierarchie oder nicht.
Kurz:
Bearbeiten: ich Benchmark diese Technik versus
getImageData/putImageData
; wenn Geschwindigkeit wichtig ist, verwenden SiedrawImage
für blitting Regionen. Hier ist, was ich sah:(Quelle: phrogz.net)
Benchmarks durchgeführt, die durch das speichern und wiederherstellen einer 125x180 region 10.000-mal unter OS X auf einem 2,8 GHz Core i7 MacBook Pro. Ihre Laufleistung kann variieren. Speziell, speichern/wiederherstellen von Regionen, die entweder viel größer oder kleiner möglicherweise in unterschiedlichen relativen performance.
getImageData()
undtoDataURL()
sind deine Freunde.haben Sie einen Blick auf eine ähnliche Frage hier So Kopieren Sie Inhalt von Einer Leinwand zur Anderen Leinwand-Lokal
Was ich vorschlagen, ist schreiben so etwas wie
um das Bild zu speichern in eine variable und dann ermittelt werden, die es später mit
Entnommen hier