2015年4月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
無料ブログはココログ

« ペン設定シールと、ストローク編集シールをアップデート | トップページ | telepathy で遊ぼう - 手書きテレパシーのプロトタイプ »

2015年1月11日 (日)

ページ間のコピペシール

特に新規性も、驚きもありませんが

ページをまたいでコピー&ペーストを行うシールを作りました。なんとなく今更な気持ちもしますが、ユーザーの立場で欲しくなったので。

使い方

元のページからストロークを clip するシールと、別のページでストロークを paste するシールの組み合わせで使います。

clipStroke シールを起動すると、クリップ範囲の指定を促す UI が表示されます。ペンで閉曲線を描いて、[Clip] ボタンをタップしてください。ストロークを clip して UI を終了します。clip できるのは、ページ台紙上のストロークのみで、ページ上に張り付けたシールのストロークや、背景画像は clip できませんので、あしからず。かなり遅いので、気長に待ってください。

Screenshot_20150111184808 Screenshot_20150111184836 Screenshot_20150111184904

clip したストロークは、noteStorage に保存されます。[Clear Clip] ボタンをタップすると、noteStorage の該当部分を削除します。

[Cancel] ボタンで、何もせずに終了。[Retry] ボタンをタップすると、一度描いた閉曲線を消去するので、clip 対象範囲を指定し直すことができます。

ストロークをクリップしたら、貼り付けたいページに移動します。

pasteStroke シールを起動すると張り付けるストロークが元と同じ位置に表示されます。最初に表示されるのは、ストロークそのものではなく画像なので、これをタッチでドラッグできます。自由に移動して好きな位置に paste することができます。適切な位置に移動したら、[Paste] ボタンをタップすれば、ストロークを台紙に保存して終了します。

Screenshot_20150111184955 Screenshot_20150111185034 Screenshot_20150111185055

[Cancel] ボタンをタップすると、paste せずに終了します。[Clear Clipped Stroke] ボタンをタップすると、noteStorage に保存されている情報を削除して終了します。

clipStroke シールか、pasteStroke シールで、明示的に保存されたストローク情報を削除しない限り、最後に clip した情報が noteStorage に残りますので、何度でも、paste を繰り返すことができます。一つのページに位置を変えて複数回 paste することも、複数のページに paste することも自由です。

しかし、残念なことに、pasteStroke シールは、clipStroke シール以上に動作が遅いです。初めて使うときは、止まってしまったのではないかと不安になるかもしれません。申し訳ありませんが、ここは諦めていただくしかありません。

あれこれ、感想とか、要望とか

潜在需要は以前からあったのですが、面倒で作っていませんでした。技術的にはこれまでのシールの切り張りで、あんまり新しいことはしていません。それでも、MOONPhase ver 3.0 で、enchant コマンドの割り当てができるようになったから作る気になったので、新機能を活用していると言えなくもないでしょう。

新機能と言えば、ver 2.10.0 で使えるようになった noteStorage を初めて使いました。単純な、クリップボード的な使用法です。実際には、折角のグローバルストレージなので、もっと夢のある活用法を考えたかったのですが、今のところ、「これだっ」というような使用法を思いつきません。なんとなく残念です。

今回のシール、理想を言えば、ストロークと背景とシール全体を含めてページを複製する機能があればよいのですが、このシールでも無いよりは幾分マシだと思います。

それでもやっぱり残念なのは、とにかく動作が遅い。特に、指定範囲からストロークを切り出す処理と、paste の際に位置を決めるためのドラッグする画像データの作成。前者は自分で書き起こしましたし、後者は MOON 発売当初に esmasui さんが作られた drawStroke.js をいまだにありがたく使わせてもらっています。しかし、javascript レベルで最適化を図っても限界があります。

考えてみると、この二つの処理は、ストロークを指で囲んでリンクシールを作る際の処理と同様です。システムレベルでは十分速く実行されます。この機能の API を是非公開して欲しいと感じています。或いは、canvas のサポート範囲を広げて、isPointinPath を非 javascript レベルで実装してくれるだけでも良いのですが。

まあ、あんまり地味なことばかり改修を続けていても埒が空かない部分もあるでしょうから、限られたマンパワーの中で、面白そうなこと優先で開発を続けてくれれば御の字でしょうか。まだ、バージョンアップの予定がある、というのは冷静に考えればスゴいことですしね。

« ペン設定シールと、ストローク編集シールをアップデート | トップページ | telepathy で遊ぼう - 手書きテレパシーのプロトタイプ »

enchantMOON」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1527616/58548656

この記事へのトラックバック一覧です: ページ間のコピペシール:

« ペン設定シールと、ストローク編集シールをアップデート | トップページ | telepathy で遊ぼう - 手書きテレパシーのプロトタイプ »