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仕事

執筆者:

関連記事

重たいTrelloでカードのアーカイブを自動化

会社でTrelloを使っているスタッフから、最近「重たい」という話をよく聞く。そこで、ボードの古いカードを定期的にアーカイブするよう、自動化してみました。3000→500件ほどに圧縮、ずいぶん軽くなり …

no image

XOOPSとWordPressが同居しているDBでWP側のデータをいじりたいとき。

かたやEUC、かたやunicodeなので、なかなか思ったようにいかず、しばらく試行錯誤。 苦労した結果、以下の手順でやればうまくいきそうなので、覚え書き。 ■PhpMyAdminで既存DBからエクスポ …

no image

Googleマーチャントの送料設定に苦労

商品をGoogleマーチャントに登録しているのだが、いつしかエラー(警告)が出ていた。 エラー内容は、「送料の副属性が少なすぎます」。 ヘルプを見ながら、 表見出し:送料(国:地域:サービス:価格) …

no image

Google Chrome から Mozilla FireFox に乗り換え

ここ一年ほどGoogleChromeを使ってきたが、今日、それまで使っていたFireFoxに戻ろうと思う。 マウスオーバーでタブを切り替えができなかったり、ブックマークを新規タブで開く方法が面倒だった …

Excelワークシート上にフォームコントロールを配置する際のコツ

コントロールとセルのリンクを作るのは、あとにする。 リンクを作ってしまうと、それをコピペしたときに連動してしまい、リンクを解こうとするとコピー元も解かれてしまい、とにかくすごく面倒なことになる。 別シ …