変更するたびにキャンバスを更新する

愛されし者

画像の内容をピクセルごとにキャンバスにコピーしようとしていますが、それが発生している間、それを視覚化したいと思っています。ただし、プロセスの実行中はキャンバスが空白のままになり、プロセスが終了すると、複製された画像が完全に表示されます。ピクセルが変更されるたびにキャンバスを「更新」または「再読み込み」する方法はありますか?

これが私が使用しているコードの一部です:

for (var x = 0; x < w; x++) {
    for (var y = 0; y < h; y++) {
        ctx2.putImageData(ctx1.getImageData(x,y,1,1),x,y);
    }
}

...ここで、ctx1は元のコンテキストオブジェクトであり、ctx2-クローンのコンテキストオブジェクトです。私はこれを視覚化の目的でのみ興味があります。私はそれがおそらくあまり効率的ではないことを知っています。

愛されし者

ここ説明するsetIntervalX関数を使用して、1ミリ秒の遅延で最終的にそれを行うことができましたピクセルごとではなく、行ごとに描画しますが、私にとっては十分であり、おそらくより効率的です。上記のコメントでJonが提案したジェネレーター関数を使用すると、コードはおそらくすっきりしますが、私はすでにこれと十分に長く戦い、機能するものが必要です:)

var x = 0;
setIntervalX(function(){drawVerticalLine(ctx1,ctx2,x++,image_height)},1,image_width);

function setIntervalX(callback, delay, repetitions) {
    var r = 0;
    var intervalID = window.setInterval(function () {

       callback();

       if (++r === repetitions) {
           window.clearInterval(intervalID);
       }
    }, delay);
}

function drawVerticalLine(ctx1,ctx2,x,image_height) {
    for (var y = 0; y < image_height; y++) {
        ctx2.putImageData(ctx1.getImageData(x,y,1,1),x,y);
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

キャンバスのfeColorMatrix値を動的に変更する

分類Dev

キャンバスサイズを動的に変更する

分類Dev

マウスオーバーでキャンバスに描かれた画像を変更する

分類Dev

キャンバスの左下に軸を変更した後、マウスイベントを修正する方法

分類Dev

HTML5キャンバスへの変更をすぐに表示する

分類Dev

多くのキャンバスがRGBAを変更するためのsetInterval

分類Dev

キャンバスのカラー画像を変更する

分類Dev

wasmからキャンバスを変更する

分類Dev

キャンバスの領域の色を変更する方法

分類Dev

背景のキャンバスkivyを変更する

分類Dev

Javascipt / Htmlキャンバス画像の色相を変更する方法

分類Dev

キャンバスの背景色を変更する

分類Dev

キャンバス上の画像を変更するTkinter

分類Dev

HTML5キャンバス:画像の色を変更する

分類Dev

キャンバス画像のサイズを変更する

分類Dev

キャンバス画像のサイズを変更する

分類Dev

キャンバス要素のサイズを変更する

分類Dev

キャンバスオブジェクトを変更する

分類Dev

xcode 8:InterfaceBuilderキャンバスを変更する

分類Dev

キャンバスの色を変更するpyqt5qml

分類Dev

印刷用にchart.jsキャンバスのサイズを変更する

分類Dev

キャンバスのない別のjavascriptに色の色を変更する

分類Dev

パターンを変更せずにHTML5キャンバスの画像の色を変更する方法

分類Dev

キャンバスコンテンツのサイズを変更し、サイズ変更された(および圧縮された)画像のbase64データを取得するにはどうすればよいですか?

分類Dev

キャンバスをドラッグするたびにクリア

分類Dev

typescriptを変更するたびにhtmlバインディングを更新します

分類Dev

キャンバスのサイズを変更せずにHTMLでSVGのサイズを変更する

分類Dev

Androidで同じキャンバスを動的に更新する

分類Dev

JavaFXキャンバスを更新するには?

Related 関連記事

  1. 1

    キャンバスのfeColorMatrix値を動的に変更する

  2. 2

    キャンバスサイズを動的に変更する

  3. 3

    マウスオーバーでキャンバスに描かれた画像を変更する

  4. 4

    キャンバスの左下に軸を変更した後、マウスイベントを修正する方法

  5. 5

    HTML5キャンバスへの変更をすぐに表示する

  6. 6

    多くのキャンバスがRGBAを変更するためのsetInterval

  7. 7

    キャンバスのカラー画像を変更する

  8. 8

    wasmからキャンバスを変更する

  9. 9

    キャンバスの領域の色を変更する方法

  10. 10

    背景のキャンバスkivyを変更する

  11. 11

    Javascipt / Htmlキャンバス画像の色相を変更する方法

  12. 12

    キャンバスの背景色を変更する

  13. 13

    キャンバス上の画像を変更するTkinter

  14. 14

    HTML5キャンバス:画像の色を変更する

  15. 15

    キャンバス画像のサイズを変更する

  16. 16

    キャンバス画像のサイズを変更する

  17. 17

    キャンバス要素のサイズを変更する

  18. 18

    キャンバスオブジェクトを変更する

  19. 19

    xcode 8:InterfaceBuilderキャンバスを変更する

  20. 20

    キャンバスの色を変更するpyqt5qml

  21. 21

    印刷用にchart.jsキャンバスのサイズを変更する

  22. 22

    キャンバスのない別のjavascriptに色の色を変更する

  23. 23

    パターンを変更せずにHTML5キャンバスの画像の色を変更する方法

  24. 24

    キャンバスコンテンツのサイズを変更し、サイズ変更された(および圧縮された)画像のbase64データを取得するにはどうすればよいですか?

  25. 25

    キャンバスをドラッグするたびにクリア

  26. 26

    typescriptを変更するたびにhtmlバインディングを更新します

  27. 27

    キャンバスのサイズを変更せずにHTMLでSVGのサイズを変更する

  28. 28

    Androidで同じキャンバスを動的に更新する

  29. 29

    JavaFXキャンバスを更新するには?

ホットタグ

アーカイブ