makeの方法を忘れた🥺のでrustで書き直した(2022/02/14)
解説:このサンプルは、意味の無いWeb Assemblyの使い方です。単なる長方形を描くならCanvas 2Dを叩いた方が速いからです。しかし、これが長方形ではなく複雑な紋様になると効力を発揮します。 たとえばマンデルブロ集合とか。乱数はJavaScriptのMath.rand()を使用。
WASMサンプルの派生バージョン。グレイスケール化している。関数も少し整理してみた。
なお、サンプル画像を用意していないのでファイルを適当にドラッグしてみて
グレイスケール化の方法を変更出来ます。
※ スマホ版Androidで動かないことを確認中。
Safari(iOS)とFirefoxで動作するようには修正済み。
ニアレストネイバー、バイリニア、バイキュービック、Lasczos3のアルゴリズムに対応。 正直4.5倍ぐらいの拡大だと写真ではあまり変化が出ない。イラストだとよく分かる。
ちなみにこの実験をするために、JPEG/BMP/GIFのデコーダをインプリメントしたと言う。
ライブラリにはWML2と言う名前を付けておいた(このプロジェクト何年かかったのだろう)
いろいろいじれる様に拡張したもの
バイキュービックとLANCOS3の差は文字を拡大してみるとわかり安い