Canvas画像処理

【JavaScript】 Canvasの画像をBMPで出力(ダウンロード)する

更新日:2022/08/01

ブラウザのCanvas要素に描画した画像を、BMP形式でダウンロードしてみます。

 

FirefoxはtoDataURL()でダウンロード可能

CanvasのtoDataURL()は、画像データをPNGやJPEG形式に変換して、データURLを生成してくれます。

FirefoxはtoDataURL()の引数に"image/bmp"を指定すると、BMP形式に変換してくれます。

BMPファイルのダウンロード例


const dataURL = canvas.toDataURL("image/bmp");
const link = document.createElement("a");
link.href = dataURL;
link.download = "image.bmp";
link.click();

URL.revokeObjectURL(link.href);
link.remove();

今回はデモを作成したので、確認してみてください。
デモには、ソースも掲載してありますので、そちらも参考にしてみてください。

 

Chromeはダメだった

デモをGoogle Chromeで実行すると、image.bmpというファイルをダウンロードできます。

問題なく動く、と思ったのですが…

生成されたデータURLは、次のような文字から始まっていました。

data:image/png;base64,iVBORw0KGgoAAAANSUhEU

image/png となっているので、生成されたのは PNG だったようです。

 

toDataURL()が image/bmp に対応しているか確認する方法

ブラウザによって使えたり使えなかったりで、本当に困りますね。

とりあえずは、toDataURL()が image/bmp に対応しているか確認する必要がありそうです。

次の記事で紹介しているので、参考にしてみてください。

 

対応していない時の対処方法

対応してないなら自力で変換すればいいじゃないか・・・・
ということで、やってみました。

詳しくは、次のページを読んでみてくださいね!

更新日:2022/08/01

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://note.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。