その他のアイデア

Last-modified: 2021-04-30 (金) 10:37:43
 
 

アンドゥバッファから複数選んで、当時のドキュメントを開く機能を。

バッファに記録されているドキュメントファイルと同様に開ければいい。
もし編集/保存すればアンドゥで編集後ドキュメントが出てくることになる。

いろいろ

  • 表示処理でフィルターを使用するように。
    フィルタリング処理のプレビューのため。
    表示だけのズーム/回転は表示のフィルターで。
  • 表示のフィルターの出力をそのまま描画に使えるように。
    データを変更しない操作全てがプレビューになるようなもの。
    「適用」操作で表示だけのデータが描画中のデータになる。
  • ペンタブ入力座標の集まり。
    これをベクトル化して使う。
  • 入力だけを記録してアンドゥバッファにするよりも、データを保存した方が簡単で早い。

ペイントツール/ドローツール

UIモード切替キーを中心に。→検索:レイヤーは モード

  • 押している間だけ切り替え。離すと中断か終了。
  • 表示(だけ)回転とか、拡大・縮小とか、xy比固定で拡大・縮小とか。
    ※拡大中にShiftを押すとxy比固定…などよりも使いやすい。

ペンブラシの投稿板

ペイントツールペンブラシの投稿板を。
作品だけでなくペンブラシも。

.jpgファイルペンブラシを埋め込むことも可能にすればいい。

操作ログ

操作ログはそのままイベントファイルになる。

  • 入力すればキーマクロのようなものとして使える。

投稿

分岐付きのアンドゥバッファ

&ref(): File not found: "分岐付きのアンドゥバッファ.png" at page "その他のアイデア";
縦軸:時刻、下から上へ
横軸:分岐、右から左へ
アンドゥするたびに分岐していく。

  • イベント名を記録。
    クリックでそのときのドキュメントも表示(原寸で)

「※Intuos4推奨」という言葉

キャンバスを動かして描く

カーソルキーで表示だけスクロール。
加えて、マウスでクリックし続けるとスクロール後に点を描ける。
ペンではなく、キャンバスを動かして描くような)

ドット絵で精度の高い線を描けるようになる。

キーストローク

文字入力で操作できればオートパイロットも可能に。
特殊な入力デバイスにも対応せずに対応できる。

この操作でカーソル移動や点の描画(ペンを下げる)も可能に。
→キーボードで操作できればいい。

内部状態を確定できるタイミング

一時データを削除/永続化するタイミング。

それは…

…など、時間のかかるコマンドに便乗。時間がかかったら便乗。それとアプリ終了時。

※「アイドル時」は不可。操作していなくても利用者はモニターを見ている。

メモは色で

レイヤー名などは色のほうがいい。
よりいいのは絵。

→UIをキャンバス

文字を出すべきところでも#000000形式と#000形式で色アイコンを挿入できるように。

そうだと思う。

色の境界からパスを作る機能

文字入れ→フォントからパス作成ができる。

ガイドライン

  • コピペできれいに並べる
  • 文字入れのときのベースラインに。
    (欧文フォントにはベースラインあり。和文フォントのベースラインは下端になっているはずなので、これも問題なし)

線をぶれにくくするには

  • 縮小した方がペンはぶれない
    狭い入力範囲で広く描ければ。
  • 描きやすい方向がある
    キャンバスを回転できればいい。
  • 筆圧補正だけでもぶれを消せる
    見た目に影響するのはストローク(線の芯)ではなく、線の輪郭。

:t/補正?

変更があったらバックアップ付き保存

レイヤーごとに判定して、データ追加だけなら上書き保存
既存データが変更されてたら複製を保存してから上書き保存

:t/機能?

現在の描画レイヤーを最前面に出す機能

合成方法は通常合成、透明度0。
スポイトで色を得やすくするため。

他のレイヤーをすべて非表示にするのもいい。

一時的にしか使わないものなので、すぐ簡単に切り替えられた方がいい。

濃く細く、または薄く太く描くための機能

ストローク中に)濃さを固定するキー…などよりも、濃さと筆圧の関係を反比例にしたほうがペイントツールらしい。

筆圧太さ濃さ
大きい太く薄く
中くらい普通普通
小さい細く濃く

メッセージを親しみやすく

例外メッセージを置き換え。
例外IDに対応するメッセージを定義し直す。

それと現在・過去についての説明と、未来についてアドバイスを。

ベクター不要

ラスター式だけ。
ストロークを直すよりも、消して引き直したほうが簡単だから。
長い線を正確に引ける機能と、ストロークをまとめて消す機能があればベクター式は要らない。

ただし、キャンバス解像度を変えたときに再描画ができない。
再生機能では無駄が多い。

入力禁止キー

押している間線を引けなくする。
タイミングよく使えば、1回のストローク中でラスター式とベクター式の両方の描き方ができる。

長くてなめらかな線と細かい変化を組み合わせられる。

ショートカットキー一覧表

インクリメンタルサーチ付きのショートカットキー一覧表を。
サーチキーは機能名、ショートカットキー、アイコンなどの一部で。

開いたファイルは(縦の)タブになる

「最近開いたファイル」と開いているファイルを一緒に表示。
(WindowsのタブレットPCパネルのように)タブを引き出すと最近開いたファイルを順次読み込み。
順次サムネイル表示、サムネイルクリックで開く。キャンバス化。

サムネイルドキュメントとは独立したファイルに。縮小処理などしなくていいように。

最近使ったファイル

入力しただけのファイル(出力したのは入れない)を「最近使ったファイル」としても良い。

半更新

ビューなど、ドキュメントに影響しないけど保存対象のデータが変わったとき半更新フラグON。
アプリが終了するとき「保存しますね」にはならない。半更新であることだけをどこかに表示。

ファイルエクスポート時のプラグイン

ファイルを出力後、読み取り専用にする。

ほか、特定フォルダーやPC(ネット向こうのフォルダー)にコピーやハードリンクを作るものも。
でも、こういったことはほかのアプリでやるべき。

色指定消しゴム

  • ペンを置いたところの色を指定
  • 筆圧高で近似色を広く指定できる。
    指定範囲に透明度は入らないので、効果は自然。薄いところほど消えやすい。

印刷プレビューをするなら

紙上での見え方に近づけて、

  • 紙の種類
  • 大きさ
  • プリンターでの解像度

…を、実際の印刷からフィードバックするような・・・スキャナーとかで・・・

または比較しやすいように。
印刷を取り込んだものと画面上のものを。

バケツツールの要領で範囲指定、オブジェクト化

フォルダーやそのショートカットをドラッグしてきてアプリ上にドロップ。貼れる。
開くツールブラシなどのツールと同系統の)やクリックで開ける。

基本はフルパス。ドロップ先のドキュメント(の保存先)に関連するパスの中で、いずれかの下位に位置しているなら相対パス。
開くときに対象領域の絵を揺らす。同時に裏で開く。

ウィンドウ表示は通常。

  • 操作中ならバックグラウンド
  • 操作中でないなら前面へ

エアブラシ使用時に音

描画している間だけ、音を。

  • 動かしたときだけ描画するツール
  • 動かしていなくても描画するツール

…の違いが分かりやすくなる。

My.Application.Log

プラグイン読み込みで

二通り用意。

  1. Load + GAC登録
  2. LoadFrom + ファイルを置くだけ

後者がメイン。

StrokePointは相対座標

StrokePointを有するObjに初期座標(絶対座標の)を持たせて、あとは相対座標で。


使い回ししやすい。
分析しやすい。学習するペンでも使用。

学習するペン

1.線を描く
2.ほめる
そのときの線を覚えて以降の近い線をその線に近づける。

覚えることは線の…
ストローク点間の向き(相対的な)
相対的…前の点からの相対値

ストローク点間の筆圧推移も。
これも前の点からの相対値。

で、このペンによる補正のあとにいつもの補正を。

ScrollLock時のカーソルキーはスクロール

ScrollLock時のカーソルキーはスクロール。
ScrollLockでないときはフロートレイヤーの移動。

または
範囲移動かフロートレイヤー選択範囲にあるドキュメント)移動かをScrollLockの状態次第で。

Shift+カーソルキーの移動量は割合で

カーソルキーで何かを1ピクセルずつ移動。Shift+カーソルキーではキャンバスサイズの何%ずつ移動。キャンバスサイズによらず一定回数で端から端まで移動できる。キーリピートで割合は増えていく。

デバイスIDとUSBなどの区別を統合

USBポートではなく、接続しているハードウェア側にIDがあるなら可能。
なくてもUSBポートで判断。
差し替える度に(ユーザーに)再設定してもらってもいい。

特定のテンキーの「1」(NumLock時)と特定のコマンドを結び付けるなどをこれで。

クリックよりも引き出す方が簡単

クリックよりもドラッグ。Windows7のエクスプローラーのように。
リンクよりもボタン。押した位置と離した位置がずれてもクリックになるように。どこかのURIを載せるなら、URIをキャプションにしたボタンで。
:t/UI?

資料参照

特定の絵を表示。
表示するだけのドキュメントウィンドウで。編集可能な(通常の)ウィンドウにするボタン付き。
Intuos4の「設定内容の表示」のような機能。描き換え可能な「設定内容の表示」。

押している間だけのショートカットキーに割り当てられるように。

ラインアート付きブラシ

あるいはラインアート表示だけのブラシ
線の方向を示すガイドを表示。
プレシジョンモードで使用するためのもの。

プレシジョンモードでは次に描かれる「点」が大事。精密なので。

次の点が分かるなら、それを表示したいところ。でもそれは入力予測。
できないので方向を表示。

ドキュメントからカラーインデックス作成

そこから色を選んで、色域指定色変換の対象にできるように。

使い方のヒント

WikiでHow-To集、1行1答で「…をするには」→ツール名とパラメーター名だけ説明。書く方の負担を減らして網羅率を上げる。
「…をするには」には「(他のソフト)…のように」などの直喩を多用して。既存の知識やサイトと関連するように。
同義語集も一緒に。検索効率を上げるため。

コメントレイヤー

レイヤーリストに表示されるだけのレイヤー
ドキュメントを持たない。
レイヤーラベルに何か書いておくだけ。
リスト上ではサムネなし。設定項目もなし。だから細く表示される。

レイヤーリスト上で「ここから下のレイヤーは…」というコメントを入れられる。
サムネの代わりに上下方向の矢印を表示して、その方向を変えられるようにしても良いかも。

落書き可能なレイヤーリスト項目にすればいい。設定類もラベルも不要になる。

拡大鏡

矩形領域に倍率の違うビューを表示。
縮小も可能。
パース用のガイドを引くときなどで。

ツール

ウィンドウ外へドロップ

絵を範囲選択アプリ外へドロップ→その部分だけエクスポート
解像度なども(設定済みの解像度に)変換。

ツール

ビューに50%反転を

不透明度の50%を反転。
残りはそのまま残る。

元と反転後を一度に比較できるツール

ツール

反転ミラー

置くと反転時の基準線になる。
なくても反転可能。そのときは画面の中央が基準に左右反転。

ツール

最大化(2)

タスクバーを表示しない最大化も可能に。
デスクトップをワークエリアだけでなく、すべて使う最大化。

最大化(3)

マルチディスプレイ環境では複数ディスプレイを使う最大化も可能に。
PrintScreen対象の領域をすべて使う最大化。

ショートカットキーに「連打」を

  • 2回以上(2回、3回…16回…50回…)
  • 一定間隔(直近入力との時間差)より早く
    直近入力との時間差。連打始めと終わりの間隔ではなく。

UI

ポインター周辺の有効活用

ポインターはブラシの属性表示に使うが、その外側に別の情報を。

…など。

周辺領域の大きさをキャンバスパネルと同程度まで拡大できるように。

ペンの回転に合わせて周辺領域の位置を変える

周辺全てではなく、ポインター近辺に円形・矩形を表示するのなら、水平面上のペンの回転に合わせて表示位置を変える。
ペンの持ち方で表示位置が変わるように。

ただし、サイドスイッチ付きのペンを使っているときは持ち方を変えられないため使いにくい。
アートペンやマーカーのようなペンとカリグラフィ用のブラシを使っている場合にも使いにくい。

dispRectはRectangleFに?

disp系座標Point、doc系座標PointF?

RectangleFとPointFで

互換性があるので、Fのほうで。

ブラシ先の輪郭が十分に柔らかければ手振れは気にならない

表示キャッシュは表示用

表示に耐える品質でいい。
キャンバスが持っているキャッシュはすべて表示用。

マシンスペックはキャンバスサイズではなく解像度に制限をかけることになる

スペックによりブラシ幅が決まる→解像度が決まる(画面上の1点がどれだけの解像度か)

編集レイヤー切り替え時にレイヤー名読み上げ

変わったことが分かれば十分。
レイヤー名が文字で設定される仕組みなら。落書きレイヤーラベルを作るなら読み上げに適さない。

第二、第三の保存場所

保存できなかったときに(保存領域の問題でできなかったのなら)、一時ファイルとしてドキュメントを別の場所(設定済み)に保存

ユーザーにエラー報告はする。
ダイアログか、ステータスバーなどの非同期な仕組みで。

キャンバスに絵を貼るとき拡大縮小

解像度を合わせて拡大縮小、貼る。

筆圧反転ブラシ

筆圧の解釈が逆。

ツール

警告するキーボード

Optimus Keyboardで。たとえば保存キー。
長時間、または多くの編集をしても保存されていない(永続化されていない)と赤くなる。警告色。

UI

リバースキー

Shiftを併用するショートカットはShiftなしの対になるようにデフォルト設定を作る
有効/無効ではなくデフォルト設定。デフォルトだけ。カスタマイズできる。強要しない。オプトアウト。

UI

アンドゥリスト(ヒストリー)の項目にもキャンバス

UI

パニングスクロールショートカットキーの代わり

代わりに「ナビゲーターウィンドウの中央へポインター移動」を。

タブレットナビゲーターウィンドウだけにマッピング。
これはアプリモード。戻すとポインターも戻る。

UI

アタリ用にはんぺん人形

キャラクター

  • 顔文字にできそうなのを。
  • 保存失敗、リトライ中に「ちょっと待ってね…」「モタモタ…」など、一言付けて表示

何も無いときでも常時表示。

スクロールバーを伴うリストでは縦に項目を並べる

そうすると、横方向には例えば5刻みの粗い並びになる。
→スクロールさせなくても大きな調整ができる。

または、横スクロールバー(だけ)を付けるか。
大抵のディスプレイは横長なので、領域の縦方向を節約するように。

UI

再生レイヤー

バッチ処理を登録。
下位レイヤーに自動で適用。
高負荷なら何もせずに上位レイヤーへ渡す。

文字レイヤーで縦横の中心を揃えたい

[hatena]どうやるか?
ほかにベースライン揃えもある。

[hatena]ベースライン揃えでいい?

マルチタッチ

UI
ペンを持っていない方の手でピンチやズームブラシサイズ変更などを。

タッチ操作をぼかしツールに当てたりできるように

マウス的な入力なので、タップして描画開始…などに。

フィルにアンチエイリアスは不要

領域検出を曖昧にして乗算合成などを使う方がきれい。
中間色が描画色と混ざってなじむため。
何度塗り直しても線が消えない。

フィルにアンチエイリアスは不要(2)

下位に一時的なレイヤーを作って、アンチエイリアスなしの境界線の芯まで届くフィルを実行。
境界線が半透明色でアンチエイリアスされていれば線を残したフィルになる。

WinTabTabletPCの使い方を統合

WinTabTabletPCの統合のため、座標はpx単位。小数点数で。

TabletPC APIで(インクスペース座標を)px座標に変換すると整数化されてしまうので、独自に行う。

適当な基準点を100%とした値(%) × 基準点に対応するpx座標TabletPC APIでインクスペース座標→px座標変換したもの) → px座標

100%のとき、100%×TabletPC APIで変換した値になる。

指定色を透明化

  1. 色を指定
  2. 指定色との差が不透明度になるようpxをフィルタリング

特定の色(と周辺色)を適切に消したい(透明化したい)ときに。
「白を透明化」を参考に

ツール

白成分を分離

「白を透明化」+白だけ塗ったレイヤーの追加

見た目そのままで白を透明化(輝度を透明化)。
透明化した分はすべて追加した白いレイヤーが補う。

ツール

キャンバスサイズ変更

キャンバスサイズ変更時、キャンバスの淵をドラッグ
そのとき、きりのいいサイズに矩形のガイド表示、スナップ

UI

カラーサークルの背景色を(選択中の)色見本にする

  • 対比しやすい
  • カラーサークルがあるので、一度に広範囲の色と比べられる

UI

表示更新コマンドだけ専用スレッド

表示更新…キャンバスの内容を画面上に描くだけ。キャンバスの更新ではない。

同じコマンドをまとめられるように

コマンドクラスにまとめる機能を追加。
高負荷時に1回の実行で済むように。

自身のすぐ後に同じクラスコマンドが実行待ちになっていたら(同じコマンドが連続していたら)、
後のコマンドを取り込んで自身にまとめる。
…という処理を実行待ちの間に。

  • ブラシ
    ストロークをまとめればいい。
  • 表示更新
    一度に画面全体を更新するのなら、連続している分を単純に消すだけでいい。
    一部の領域だけなら領域の統合が必要。

表示更新

縮小表示時は粗く処理するだけでいい。
表示には影響しないため。

描画のクオリティをあげる工夫がいらない。
扱うドキュメントは表示対象になる部分だけでいい。

フィルブラシ

ブラシの範囲内だけをフィル。
中心点を含む領域、かつブラシ描画の範囲内だけを塗る。

広いブラシ幅で、複雑で細かい領域を、ストロークで塗れるように。

ツール

流れるように色が広がるバケツツール

広がっている間、(専用の、このツール付属の)ブラシで穴埋めができるように。このときの描画色は透明。色の広がりを止めるだけのもの。
ツール使用→色が流れ広がる→穴埋めモード→好きなだけ穴埋め→塗りの確定。
キャンセルすると手間をかけた穴埋めが無駄になるので、キャンセルなし。使用したら必ず確定。戻すならアンドゥで。

色の流出を見ながらフィルできるモード

色が広がっている間は仮塗り。
だから何色でもいい。

モードをどう実現するか

流出アニメーションは?
広いところは広がりが早いように。周囲に塗れるピクセルが多いと早いように。

Tag: ツール

どこから漏れたのか分かるバケツ

領域をふさぐと同じ方法で、マーク表示。

透明色を塗るバケツ

不透明度を「色の浸透しやすさ」と考えて、アンチエイリアシングされた境界を自然に塗りつぶすバケツ
半透明ピクセル不透明度:透明度 = 既存の色:塗る色 という割合になるよう混色。
既存の色を元あった分だけ残しつつ、描画色と混ぜる。

汎化して、透明度→既存色に含まれる塗り色の成分。
赤・黄の黄を塗りつぶすとき、境界に(255,128,128,0)があれば(128,128,0,0)と塗り色を混色というような。
色成分を取り出す式→色の差を求める式が必要。

ツール事態にMVC

  1. 本体
  2. コマンド
  3. フィードバックと入力

ツール

コマンドキューは1つでもレイヤーごとでもいい

ユーザー設定のオプションでもいい。
コマンドの実行完了まで待つこと。順序を保つため。

コマンドの実行完了を待つなら実行中コマンドの完了待ちをやめる機能もいる。

ファイル出力にもフィルター

画像形式たとえば.jpg使用時…拡大縮小フィルターで特定サイズサイズ変更、とか
形式ごとに(「全形式」という項目も入れて)フィルターを設定できるように。

3Dレイヤー

遠近データを付与
データはグレイスケールの画像にできるはず。

StrokePointに相対時間も

1点ごとに前の点入力からかかった時間を。
ツールで使うときに参考にできる。

タブレット占有モード

タブレットを1つのキャンバスだけにマッピングするモード
縦横比は固定、あわないときはタブレット側に使わない領域ができる。

タブレットをこのキャンバスで占有する」「タブレットをホールドする」

UIがイベントを受ける→…→そのUIに対応するツールが動く

UIごとに対応するツールがある。

入力補正はハードウェアの精度を補うもの

右利き用UI / 左利き用UI

レイヤーリストにプログレスバー

レイヤーごとの保存で、プログレスバーはレイヤーリストに表示。
レイヤー1つ1つの背景に帯グラフ。

2回繰り返しをどう解釈するか

  • キャンセル
    トグル
  • より強くする
    1回…メニュー表示(選択後消える)
    2回…メニュー表示ホールド(選択後も残りまた選択できる)
    iPhoneのCapsLock風

:t/UI?

同じコマンドを2回使ってモード戻し

1回目でモードON、2回目で解除(元のモードに戻る)

ネストできるか?→できないほうがいい。
モードON時に元のモードを消さないように。または基本のモードを用意、解除時は必ずそのモードに戻るように。

より柔軟にするには「モード解除」という機能を2回目に使用。
これなら3モードのトグル動作などにも応用できる。

UI

ショートカットキーに「ダブルクリック」

2回押しでモード切替。

最小筆圧は1ではなく0、垂直座標0がスタート。

WinTabと特定タブレット限定。

再生時、設定を再現するには?

必要なもの

  • メモリー量
    再現不可能。
  • プラグイン
    ダウンロードとインストールが必要。

設定を再現できないときどうするか?

ドキュメントログを減らすには?

ペン入れ

レイヤーに描いて統合を簡単に
線の交差、はみ出しを簡単に消せるようレイヤー作成・結合を自動に。
結合はいつでもできるように自動化しない。
キャンバス上の細い線→レイヤー選択ができればいい。

まるものさし

同心円上に目盛り
向きに関係なく全方向測れる。

拡大、縮小して使う。

Ctrl+左右方向ストロークなどで拡大縮小。

「丸定規」「定規風船」「風船定規」

ツール

競合問題

Layer入力を受け、自身を書き換える。Layerが1ファイルなので。
または、コマンドの実行順を入力順どおりに保ったり、並列処理しないようにしたり。

ペンツール

タブレットの)ペンツール
タブレットキャンバス

モデリング

キャンバスは表示用キャッシュ

キャンバスは同じドキュメントを2つのウィンドウで開いているとき2つ。
キャンバスのデータはファイル保存されるドキュメントのようなものではなく、表示用に複製されたデータになる。

一方で、入力のための(UIとしての)タブレットキャンバスと対応する。
こちらは常に1つあれば十分。2つ開いていても有効なのは(入力を受けるのは)どちらか一方のみ。

ブラシの設定はどう行うか

ウィンドウで。
でも表示領域が画面上にあるならそこに。
なければ新しいウィンドウ

UI

縮小表示中のキャンバス入力座標の精度をどう上げるか

1pxを指しても、データ上ではより広い範囲になる。その範囲の中のどこを指しているのか区別がつかない。

データ上の1pxを選ぶには…?

  • 適当に決める
  • 正確さを求めず、範囲を指定したことにする
  • 適当に決めた上で、(ユーザーの手で)微調整できるようにする

自動的に決められないので、ユーザーの判断が必要。

フレームワークの構成要素

…を提供する。

もしもペイントツールフレームワークを作るなら…

仮想コンソール

OKとキャンセルくらいのUI
ポインター位置付近に表示、ただし誤操作を防ぐためボタンからずらす。
ブラシの邪魔にならないように、もう少しずらす。

または定位置。

UI

レイヤーは非コンポジット

2つのルートキャンバスに属するレイヤーオブジェクトで
「ルートキャンバスによっては表示/非表示が異なるがデータは同じ」というレイヤーを。
ドキュメントをハードリンクにするか、実体を一方だけに置いて一方を読み取り専用で開く形にしないと編集が衝突する。

一方が読み取り専用でも、同期がとれていればいつでも開き方を交換できる。読み取り専用と編集可能を交換して編集。

活用例
編集中レイヤーだけを表示したビューと、全てのレイヤーを表示している参照用ビュー
編集中レイヤーのほうではフィルターレイヤーを併用して、色を明確にするとか。透明部分と背景色を区別しやすくとか。…を可能に。

空スタンプ

絵をコピー。それを貼り付けるスタンプ/イメージホース。
ブラシと同じように向き、大きさなどをストロークから得て。

プラグインに「ファイル形式」も

エクスポートインポート、またはどちらか一方。

キャンバスの属性に色数

数字とアイコンで表示

  • 0色…透明
  • 1色~2色…モノクロ
  • 3色~無彩色のみ…グレースケール
  • 他…フルカラー

モード切替無しで二値やグレースケースにできるように。

ビューの拡大は点で位置指定したいが、縮小は枠で指定したい

拡大は描きやすい大きさになるまで続けるもの。見ながら操作する。
描く範囲が決まっているときは枠指定のほうが使いやすい。
縮小は全体を見たいとき→枠指定がいい

→どちらも枠と点で位置指定したい。

絵のスナップショット

適当なところ、または保存時にアルバムに絵を追加。

差分だけ残す。
絵が完成するまでを後から再生できるようにする。
そのスナップショットの再生では…
任意の2枚を、並べて/重ねて表示。比較できるように。

それを2枚だけでなく3,4,6,8,9,16などでも。

再生差分の大きさに比例して遅くする。

ツールダウンロードでレコメンドサービス

これはWebサイトのレコメンドと一緒。

レコメンドサービスをツールパレット

おすすめツール(同時に使うツール)を強調表示。微妙な色の変化で。特に強調するものは分かるように強く。
おすすめ以外のツールアイコンを暗く表示する。

線画中はベタブラシ消しゴムが強調される…とか。

マウスカーソルとして表示するブラシサイズ

最大値よりもその人(ユーザー)の標準値にする。
標準値は自動的にデータ収集。自動的に反映。カーソル表示だけなので自動でもいい。

力を入れて使っていると次第に開いていく実物のブラシのような。

ショートカットキー

モード)シフトと(モード)ロック。
シフト…一時的。押している間だけ。
ロック…モード切替。2回押しやそれっぽいショートカットキーで。

印刷で画集を作るには

枠を用意。
紙の大きさに合わせて普通に拡大する。
偶数・奇数ページ別。

両面印刷にするため一度に複数ドキュメント印刷
同じ紙に二度印刷することでメッセージ書き込みとかも。
一度印刷した紙をスキャン、それに重ね書きして。

特定のキーから始まる複数キーストロークコマンド

アプリからの制御で使えるように。ユーザーが使うものなら2ストローク程度が限界。
ショートカットキーは設定次第なので(UIとしてのものなので)、API用のキー定義を用意する。

ということは、APIとしての複数ストロークコマンドは、できればキーボードからは入力できないキーで始まるように。

Webカメラで写真を撮って下絵にする

撮る。外部ツールで。
撮ってすぐファイル
それをレイヤーリストにドラッグアンドドロップすると新規レイヤー

単色のパーティクルブラシ

軽くするため単色に
描画色

下絵として使えればいいので。

大きく描いてから縮小して仕上げ…を不要に

フィルターでモザイクのような結果を。
縮小後、拡大したような効果を。

アンチエイリアスと似ている。
一定範囲の色を集約、その後展開。
これを高速に、そして1px描画する毎にできるように。

ダイアログのボタン

同心円で内側からOK、キャンセル、その他のボタン。同心円の中心をずらしてもいいし、正円でなくてもいい。
これをポインター付近に表示、OKまたはキャンセルを押しやすいように。
OK、キャンセルの順序は統一しないと使いにくくなる。

UI

透かしのようにして別の絵を見えないように埋め込む

情報量の少ないグレースケール画像を埋め込むなら可能。
フィルターで。
復元は別のフィルターで。

できれば形式を変換、再度jpg化しても残るように。

有効なレイヤーのうちの最上位レイヤーに設定しないと効果なし。

ペンを浮かせたまま描画できれば筆のような感覚で塗れる

塗る/塗らないの切り換えをどうするか。
筆の速さ(座標の変化量)と筆圧補正で再現できる?

ユーザーへのフィードバックでは音を付けるといい。

”twit this!”と”Haiku this!”ボタン

Haikuはfにアップロード後、そのURIをHaikuしないと。

例示で作るフィルター

色→色のヒントを多数与えて、例→変換法則を作るフィルター

目的の色は分かっているけど、方法が分からないときに。

キーボードを画面に表示

Intuos4の設定確認のように。
キーボードの図の中に設定内容を表示。
文字数が限られるはず→矢印と文字列

SAIのようなキャンバスレイヤー選択で分かりやすいレイヤー選択が可能

:t/UI? :t/活用法?

すべて(または大事なレイヤー)に●とレイヤーの説明を書いておく。
選択するときは●を選択すればいい。

説明を自分の字で自由に書ける。
レイヤーの説明を描くための領域を作れない?
キャンバスエクスポート範囲外(落書き領域)に描けばいい。

レイヤー作成時に「●」を自動描画するのもいい。
縦や横に並ぶように描く。

レイヤー全体を移動するとずれることになる。


キャンバスレイヤーでは対象(クリックした位置が不透明)のうち一番上のレイヤーを選択、その他の’’対象’’レイヤーは強調表示。
レイヤーが多数あっても探すことはできるように。

ツールバーの代わりがリボン

メニューバー+リボンになる。
リボン非表示も必要。

UI

ドキュメントログを減らすには?

  • 1レイヤー毎に分ける
  • 透明を除く(最も多い色なので。だからより柔軟にするには最も多い色を除く)→圧縮すればいい
  • 圧縮
  • 長い期間をまとめる
    (記録間隔を広げる)
  • 差分だけ残す

ほとんどPNG化だけで可能。
つまり工夫なし。

日替わりスプラッシュスクリーン

アプリ側での入力マッピング調整

100点キャリブレーション

  • コントロールパネルでのキャリブレーションは入力点が少なすぎるので、不正確
  • アプリでの調整なので、対応アプリでしか効果がない
  • 100点くらい入力、1000点くらいまで選べてもいい
  • やり直しを可能にして、入力の負担を軽減
  • 順番は中央←→外側
    調整不要な範囲はスキップして、必要な範囲のみ設定可能に。
  • データ移行可能
  • コントロールパネルのほうでも調整するとずれる
    ずれた分は再度アプリ側での調整が必要になる。

イメージホースの再生

例えばイメージホースの再生はどう行うか。
設定の中に画像がある。
画像をFlyweightとして扱う。
ファイル再生に使うものとして再生記録と一緒にコピー。

ブラシ

Dropboxと

ライブペイント中、保存と同時に

…をDropboxのPublicフォルダーへ。
同じファイル名で保存
同じURIで保存と同時に常に最新版を配布できる。

連携

文字入れ

曲線上に配置するなら複数行対応に。
同じ曲線上に2行以上
行毎に行頭と文字間隔調整。スペース挿入で済むならそれで
→スペース1つの幅だけ別に設定すればいい

エクスポート時のファイル形式別オプション

デフォルト値をアプリ設定、それに関係なく個別のファイルにも設定可能に。
保存時にダイアログを出すならそこに「設定」ボタンか設定項目を。
ファイル別のオプション設定ダイアログがあるならそこに「保存」ボタンを。
エクスポートオプションなので、あらかじめ設定。

複数の形式について設定しておく。

アプリイベント

ストローク終わり」など。
ほか、Windowsイベントのラッパーも。

TabletPCWinTabの統合に使う。

レイヤーリストなどもプラグインにするには?

  • API用意
    公開されているものをすべてプラグインにも公開
  • DLL化だけ
    差し替えができればいい

→DLL化だけ(差し替え)でいい。

DrawFreehandLineなどというものは不要

これはツール依存なので、「ブラシ」などに置き換えるべき。
アンドゥリストに残るのはDrawFreehandLineではなくブラシなど。

それに入力がどんな操作を意味するかは判別不可能。

→DrawFreehandLineはI/Fとする。

アプリプラグインの実行環境

このアプリプラグイン(特にツールプラグイン)を動かすための実行・開発支援環境。
ツールは1つ1つが単機能ペイントツール

フレームワークプラグイン

確実に存在しなければならないものはフレームワークで。
ブラグインではいけない。

そのうち、別の方法があるものは差し替え可能なDLLで。

ビューレイヤーリストに

ビュー」という項目を開くとビューレイヤー表示(レイヤーフォルダーを開くように)

ログに記録するのはキューに入れるもの

ログに記録するのはアプリケーションイベントを含んだCommandなどキューに入れるもの。
スナップショットを撮るなどのバックグラウンドで動くコマンドも。

チェック項目

ビュー

使用中のツールモードを作って変える

でもレイヤーがホットスポットなのは変わらず。
レイヤー次第で選べるツールが変わるので。

やっつけブラシ

二値ブラシ

特殊な補正をかける。

入力座標の間引き
■□□
■■□
□■■
 ↓
■□□
□■□
□□■
とするときれいになる。

リズムジェスチャー

マウスジェスチャーの代わり。
リズムで入力
♪♪休符♪→保存…など

あまり頻繁に使わないものに。
連続しない操作にも。

タッチジェスチャー

ペンではなくタッチ操作のみで有効なジェスチャー。
ジェスチャー開始を表す1つのジェスチャーに続けて、ジェスチャー本体を入力
またはジェスチャー本体のあとに、ジェスチャー終了のジェスチャーを入力

無彩色の画像に色を与えてから色変換

色調整フィルターで、無彩色に色を与えてから調整をかけるオプションを。
これでモノクロ画像も色調整できる。


例はArtRage3の色調整。
描画色を与えているが、フィルター設定で色選択ができない。また、色選択はそれ用のUI(色パレットスポイト)があるので、ここで選択しない方がいい。
特定の色を与えて、その色の調整と既存色の調整を分けた方がいい。1色と既存画像を別々に調整。


範囲選択組み合わせられるなら、設定を分けなくていい。
そもそも色調整は1色ずつ行うか、画像全体にかけるものだし。
無彩色に他の色を与えるフィルターを別に分けてもいい。

というか、分けた方がいい。
無彩色に近い色、微妙な色の処理は自動化できないので。

インデックスカラー

色にトーンのようなパターンを含めるならインデックスカラーも有効。
同じトーンを一括貼り替えできる。

モーダルメッセージは右から左へ流す

モーダルメッセージはニコニコ動画のように右から左へ流す。
これでモーダルではなくせる。

できればキャンバス外に。
ウィンドウの枠やメニューバーにかかるように。

タグレイヤーまとめ

フォルダーのようなものではなく、タグレイヤーまとめ。

タグを付けるときはタブレットペンのための選択式とキーボードのための文字入力で。
それとレイヤーのグループをフォルダー風に表示するUIも。

フィルブラシ

細かいところはブラシで塗るように操作。
半自動で細かいところにもフィル。

ヒント付きフィル。

バージョン情報に花

花の絵でベンチマークを表示。
しおれていると推奨環境に達していないとわかる。

WEIスコアを参照してもいい。

フリック操作

操作・ショートカット設定でフリックを。
フリック対応の機能で慣性が働いたりする。
スクロールとか、サイズ変更とか、細かい調節と粗い操作が要るところで。

エクスポートオプションにレイヤーごとの出力設定

文字レイヤーならテキスト出力、など。
画像ならそれぞれ異なる形式とか。

あるいはレイヤーグループごとに。

UIは…ツリービュー
全体、形式別、レイヤーグループ、レイヤー別の順。
レイヤーは形式の下なので、形式別に同じレイヤーが出てくる。

レイヤー名にテキストがあれば、テキストでエクスポートしたい。
検索に使える。
レイヤーファイルファイル名でもいい。

コマンド履歴にはショートカットも表示

表示時に有効なショートカットを。
文字列ではなく可変値で。

選択範囲内で完結している線だけを選択する選択ツール

余計な線、交差点を含めない選択。
線の開始座標と終了座標が必要。
ベクターレイヤーを導入するなら可能?

起動中に閉じるボタン

ファイルの中身

ピクセルのバッチ処理

つまりフィルター
カスタム(オリジナル)フィルター
変換法則をパラメーターとして与えて、選択範囲を処理。

パラメーター

  • 座標変換のマトリクス
  • 色変換の法則
    赤、色相、輝度、不透明度などに四則演算。オペランドに定数や他のパラメーターを使えるように。

モノクロ化、セピア化、変形拡大、回転縮小、エンボス加工、明度を透明度に変換などができるように。

多段プレビュー

複数のフィルター効果をまとめてプレビュー
順番を決めて、パラメーター入力ダイアログを複数並べて、どれか一つでも変更すると一つ目のフィルターから適用、全フィルターの結果をプレビュー

複数のフィルターが関与する複雑な加工をプレビューしたいときのために。

そのため、ダイアログごとにプレビューON/OFFできては良くない。
プレビューはONで固定。OFFできない。処理前と比較するため、処理前を表示できるように。
異なるビューを持つウィンドウで。これなら重ねるのも並べるのも可能。
ウィンドウの位置合わせがしやすければなお可。(例えばスナップで)
フィルタリング前後以外とも比較できるようになる。

X-Mouse

:t/UI?

パレットを分離、重ねているときにX-Mouseが便利。
ポイントだけでウィンドウをアクティブ化。
Windowsにも機能はあるが、タブレットでだけ使いたいこともあるので、アプリでも同等の機能を。
前面に出てくるほうだけの提供でいい。

実装ではメインウィンドウがポインター座標を受けて、とのウィンドウをアクティブにするか判定。

色数・カラーモードビューで実装

モードの類はビューの属性として実装。

  • 二値
  • RGBカラー
  • CMYKセーフカラー
  • Webセーフカラー
  • グレースケール

レイヤーの系譜

レイヤーの派生が分かるように。
複製、関連付けの記録。
レイヤー新規作成のときも他のレイヤーと関連付けられればいいが…囧

Microsoft Office Image Writer

仮想プリンター。印刷を画像形式のファイルに出力。
これで印刷できるものなら高解像度で取り込める。
例えばPDF, MS Wordなどの文書系。
読み込み時にキャンバスサイズに合わせてリサイズできれば実用的。

toumeishikanuranaibaketsu

futoumei, hantoumeihamattakunuranai.

メモ

罫線付きの新規キャンバス

ペイント時間

ただ開いているだけの時間を除いて、入力中の時間だけ計測。ファイルに記録。
アンドゥで戻る時間と、アンドゥ分を含めた時間、編集・保存した日付と日数をカレンダー表示。

レイヤーの合成方法を変えるショートカット

レイヤーの合成方法をいろいろ試すときに。

不透明度などは0~100.0%

256段階なので0.1刻みで。

スポイト選択時、ウィンドウ外に出るとカラーピッカー

スポイトウィンドウ外に出たとき、ウィンドウを非表示。
同時にピクセル座標で指定されたデスクトップの色を取得するモードに。

定規を実装するならブラシから呼び出し

ブラシの実装に依存。実装によっては有効にならないかも。
理由はストローク補正と同じ。ブラシなどのツールが自身に合った補正をするために。

ブラシの基底クラスで使用しやすくして、定規を有効にするコードテンプレートがあればいい。

ペイントツールの活用法はプログラミングの逆引き事典に似ている

順を追うだけのアルゴリズム解説。
ツールやバッチ処理(アクションファイル)で提供すればいい。
使い方を教えるのなら、アルゴリズム解説では不足。

ペンのテールスイッチの挙動はブラシが定義

ブラシでは他のスイッチについても定義。
定義しない場合にアプリの定義になる。

選択中レイヤーだけを表示

レイヤーの表示、非表示だけでなく合成方法も変更。

コンテンツ別貼り付け

テキストなら文字入れレイヤー作成、貼り付け。
画像ならラスターレイヤー
何かのベクターデータに対応したいたらベクターレイヤー

ファイルをドロップしたときは形式別に。
ドロップは追加・インポートファイルを開くのではない。

レイアウト

画像をグリッドレイアウト。
専用レイヤーで?1枚のレイヤーに貼り付けることになる。
不透明部分にスナップするのではなく、Webブラウザーが表示するテーブルのように一番大きな列幅・行高さを使う。または一番大きなセルにすべてのセルを合わせる。

ボスが来た!

らくがき帳

ホットキーで呼び出し。
描いて自動保存。特定ファイル保存
開くたびに新規レイヤー。何も描かなければそのレイヤーは削除。

アプリを起動させた時もすぐ開けるように。ファイル選択なしに。

他のファイルと同じようにドキュメント設定もある。

トーン・テクスチャーより範囲選択

トーンやテクスチャーよりは不透明度付き範囲選択のほうが便利。
普通に貼るなら塗り潰しで。切り抜きや反転してから切り抜いたりも工夫なしにできる。

範囲選択時には既存範囲との共通部分や排他的論理和のようなこともできるように。
既存範囲があればオプションなしに共通部分を求めることにしてもいい。操作が簡単。

UIはペン中心

キーボードを使うのはペンを持っていない方の手で。
それと持っているペンでキーを打つのも。

ぼかしフィルターレイヤーのために

10×10pxのタイルを修復するとき12×12px必要になるような仕組みをタイルシステムに。
1つのフィルターレイヤーの要求でタイルを拡張。でもキャンバスを更新する手前まででいい。

マスク予定色

マスクと色塗りを統合。
消すときは別の色や消し色で。

コマンドマスク化。
もう1つのコマンドで予定色化。

この色もレイヤーに残る。
他の色とは合成できないので、半透明色であっても上書きされるとマスク色ではなくなる。
マスク色成分だけを透明にする(消す)色も必要。

消し色はレイヤー上に残る

表示は任意の色で。またはアニメーション。
消し色を消す(透明化する)色がいる。
他の色とは混合できない。
他の色で上書きすると、それが半透明でも消し色でなくなる。

消し色

透明色とは違い、下レイヤーまでの色を透明色にする色。レイヤー合成時に透明色にする色。
上書きできる透明色。SourceCopy。

消しゴムはこの色での描画。→消しゴムは対象レイヤーにしか効かないし、消しゴムは上書きされない透明色を置くもの

色抜きをするときは線画をこの色で塗りつぶして合成。
不透明度を持っているので半透明にできる。

影響範囲は同じ階層の下レイヤー全て?
レイヤーフォルダーの合成方法に影響。階層ごとに合成するか、下レイヤーから全階層通して合成するか。階層ごとでなければ影響範囲が大きすぎて使いにくい。

消える色

エクスポート時に透明色として扱われる色。出力されない。
メモを書いておくために。

特定のキーを押している間(表示コマンド使用時)だけ表示するようにすれば分かりやすい。

レイヤーを下へ・上へ

レイヤーリストではなくキャンバス上でも使えるショートカットで。
編集対象レイヤーを1つずつ上下。

構図ツール

タブレット機で動く構図メモ。

単色レイヤーで再現する

1枚のレイヤーで下塗り・レイヤー分け。そのあと色別のレイヤーに変換すれば隙間や重なりを防げる。
対象レイヤーピクセルをスキャン。色別に単色レイヤー化。操作方法統一のため元のレイヤーは削除。

アンチエイリアシングされた色境界を単色の半透明ピクセルに分解する方法が必要。分解したのを合成すると元の色に戻るように。

変換か複製か

Tag: UI

レイヤーを変換したり、結合したり…そのとき元のレイヤーを残すかどうか。
残した場合、削除するか非表示にしておくか。

→元のレイヤーは残さない。残したいときは複製してから変換したり結合したり。

擬似3Dでデッサン人形をシミュレートするなら「楽にしていいよ」ボタンを

関節に無理がかからないよう可動部を調整するボタン。
動かしたくない関節を1点だけ設定して。

既存の線とぶつかったら別レイヤー

不透明領域を塗りつぶしそうなら自動的に別レイヤーに描画、透明領域に描いている限り同じレイヤーに描画。
消しゴムは逆で自動的に不透明領域を持つレイヤーに描画。
ラスターレイヤーでも交差している線を傷つけずに消せるようになる。

ラスターレイヤーベクターレイヤーの特徴を合わせたレイヤーができる。

ブラシを軽くするために

ブラシの重さはレイヤー合成の重さ。ささいなフィードバックのためにレイヤー合成を繰り返さなければならない。

レイヤー合成を省略できればブラシ描画は速くなる。速さ=処理の少なさ=レイヤーの少なさ。
描画レイヤーとそれより上/それより下の3レイヤーだけの合成にする。上と下はあらかじめ合成しておくのでそれぞれ1レイヤーずつしかない。

合成順が変わってしまうので、色が正しくならない。ペン先OFFで正しい合成順の描画処理を一度やり直すことになる。
正しくならないのはフィードバックだけ。データは正しい。フィードバックの違和感を軽くするためにトランジションを付けて「色が定着する感じ」⇔UXにする。

「合成順に依存しない合成方法」のレイヤーは特に工夫しなくてもあらかじめ合成しておける。

色選択履歴

カラーパレットで選択して(使った)色を記録。
時系列順や、色相×輝度とか、色相ごとに区切って輝度×彩度のグリッドにしたり。

マクロのマクロ

キーマクロから別のキーマクロを呼び出せれば、マクロ作成時に神経質にならずに済む。
マクロの分割をするツールがあれば再利用しやすい。ステップ再生で途中から途中まで再生、そこで分割したり。

Webにらくがき

Googleサイドウィキや、MozillaのX-RAY GogglesのようにWebにらくがきして保存・公開/非公開切り替え。

計測

ドキュメントを開いていた時間を計測。

コマ割りするなら直線ツール

ブラシ形状を白抜きにできれば、内側を透明色(上書き)、外側を黒にして平行線を引ける。太線+内側をくり抜く消しゴムのようなもの。
コマ割りをするならこれで直線を引くだけ。専用のツールは不要。ずらしながら重ねて引けばコマ間をいくらでも広げられる。

計測

操作1つ(アンドゥ1回分)ごとに時間を計測、アンドゥすると時間も取り消し。
やり直しを除いた作業時間(実質の作業時間)が分かる。アンドゥ分も含めた作業時間も記録して、比較できれば有用。
表示中のではなく、完成版に出力するレイヤーサムネイル化。どこを描いているかが分かる程度の大きさのサムネイル。そのサムネイルを時間順に並べてタイムライン作成。時間がかかった操作とそのときに描いていたものが分かるように。自己分析用。

カラーパレットレイヤーリストの統合

1レイヤーに1色なら、レイヤーごとに選ぶと色選択。色を選ぶとレイヤー選択。
パレットレイヤーのUIを分ける必要もない。なら統合。

レイヤー一覧は色の一覧にもなる。色を選んでレイヤー選択。
いつでも自由に色調整できるようになる。同じレイヤーに複数の色があると自由にはならない。

背景との境界はアンチエイリアシングしない

レイヤーの下にある背景色と、その他のピクセルとの境界に中間色を置かない。
これでブルーバックやグリーンバックの画像を切り抜きやすくする。

実装方法はアルゴリズムではなく、画像全体をアンチエイリアシングしたあと、背景色を上書きするといった作業の自動化。