JavaScriptで地味な写真加工アプリをつくります。といってもやることは合成した色を元の写真に重ねるだけです。写真全体を明るくしたり暗くすることができるだけの地味な写真加工アプリです。

HTML部分

まずHTML部分を示します。ユーザーが画像をアップロードしてこれに重ねる色と不透明度を指定できるようにします。そしてできあがった画像をダウンロードできるようにしています。

style.css

グローバル変数と定数

グローバル変数と定数を示します。

index.js

ページが読み込まれたときの処理

ページが読み込まれたときの処理を示します。

ここではイベントリスナーの追加と画像と設定された値を表示する処理をおこなっています。

index.js

イベントリスナーの追加

イベントリスナーを追加する処理を示します。

ここではレンジスライダーを操作したとき、画像が読み込まれたとき、アップロードするファイルが指定されたときの処理を定義しています。

画像の描画

画像と設定された値を表示する処理を示します。

画像をダウンロードする

ダウンロードボタンがクリックされたときの処理を示します。

canvasに表示されている画像をファイルとして保存すればよいのですが、縮小された状態で表示されているかもしれないので、もうひとつ見えない場所に原寸大のcanvasを生成してそこに描画します。そのあとこれをダウンロードしてファイルとして保存します。