IT仕事

FabricJSについて調べてみた。

投稿日:2017年11月8日 更新日:

ベースは、こちらのブログで公開されていたコード。深く感謝!
Fabric.jsを使ってLGTM画像を作る | KRAY Inc
ページ下にあるリポジトリよりファイルをダウンロードさせていただき、先日インストールしたVisualStudioCodeのウィンドウにファイルをmain.jsとindex.htmlをドロップして開き、それぞれを編集する。

実はここに至るまでに、FabricJSの公式にある以下のサイトのソースをコピーして使えないかと、しばらくいろいろ探っては見たのだが、うまくいかなかった。Kitchensink | Fabric.js Demos
というのも、このサイトではfubricJSをAnglularJSで操作するようにつくってあるから。
(そして自分はAnglularJSについて、さっぱり知らないから。)

参考になったのは、他には以下のWeb。
fabric.jsで画像を描画する
fabric.jsを利用したシンプルホワイトボード – jsdo.it – Share JavaScript, HTML5 and CSS
LGTM Maker
いずれのサイトの作者さんのサンプルコードや解説で、だいぶ理解を深めることができた。

似たようなので以下もみつけた。まだじっくり見ていないけど、役に立つかも。
LGTM Editor

ところで、downloadリンクをクリックするとcanvasに配置した画像を保存できる・・・はずなのだが、うまくいかない。

数時間試行錯誤してみたが、やっぱりだめ。Google検索で「fabric.Image.fromURL save」といれて情報をあさりまくって、やっと見つけた良いページ。
以下のページに「画像はローカルに置いたやつをできれば使ってください」とあった。
javascript.log

自分のコードでは、横着して外部のサイトの画像を適当にローカルからリンクしていたので、画像をきちんとローカルに保存しなおしてそれを読むようにしたら、ちゃんとdownloadできるようになった。感謝である。

 

2017/11/11(土)追記:

PDF出力ができるように、jspdfをCDNで読み込むようにした。
<script src=”https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js”></script>
普段はFFを使っているのだが、なぜかタブが余計に開く。
調べてみると、FFとChromeとEdgeの3つのブラウザでは、挙動が違う。
とりあえず、すべてのブラウザで保存できるようにできたけども、FFでは症状が回復せず。わからん。これは後日の課題としておこう。

-IT仕事

執筆者:

関連記事

GASで作成したスクリプトをPower Automateで使うには(めちゃx2苦労した話)

ChatGPTに「GASで作成したスクリプトをPowerAutomateで使うにはどうすればよいか」と聞いたら、「Google Apps ScriptをWeb APIとして公開し、Power Auto …

no image

AccessとBASP21で正規表現を使ってメール文から必要事項を取り出すサンプル

Accessで正規表現を使いたかったのですが、ネット上にはサンプルが少なく、苦労したので、とりあえずツギハギで作った私のコードを披露したいと思います。 Accessで正規表現を使うには、BASP21を …

FreeNASに挑戦

バージョン FreeNAS-9.2.1.3-RELEASE-x86。 FreeNAS-9.2.0-RELEASE-x64.iso。 2014/4/3(木)追記: Ver.9.2.1はCPU Usage …

Power Automate Desktopで .NETスクリプトを実行して正規表現で文字を抜き出す

やりたかったことは、 文字列を与えて、その文字列から正規表現でハイフンに挟まれた文字列を取り出すこと。 ChatGPTに質問したら、それらしいスクリプトは作ってくれたけど、いざ動かすとエラーになり、正 …

no image

Titanimu Studioを試している。

書籍を揃えて試しているのだが、以下の部分でエラーになる。 win1.hideTabBar(); エラーメッセージは、 <TiBaseWindow> has no method &#8216 …