画像処理反映は、描画中キャンバスのxywh([左上のx,y,幅,高さ]の配列)に、色データ([r,g,b,a,r,g,b,a,...]からなる配列)を設定して画像を書き換える命令です。  なんで「画像処理反映」の関数の中で、再度「getimageData」を使いキャンバスのデータを取得し直しているのかというと、「色データ取得」は「getimageData」で得られるImageDataオブジェクトの中のImageData.dataだけを取り出すやつなのですが、putImageDataするには、ImageDataオブジェクトが必要なので取得しています。  注意点としては、幅と高さが、元の色データを取得した時と合っていませんと、色データは一次元配列ですので変になります💧  元のImageDataをどっかに保持しておくとかもっとスマートなアレがあった気がしますが~😅🙏  あとは、うまくいかなかったコードを貼って頂けたら、なんでうまくいかなかったのか分かるかと思います。