The latest clipboard operation in javascript #2

貼り付けの動作について整理しておきたい。

Photoshopの場合、「ペースト」を行うと新規レイヤーが生成され、そこにクリップボード上の画像が配置される。また、「選択範囲へペースト」を行うと新規レイヤーが生成され、選択範囲がレイヤーマスクに設定された上でクリップボード上の画像が配置される。CSなんちゃらではもう少し貼り付けの仕方にバリエーションが増えるが、基本的な動作は割とシンプル。

一方gimpはなんかよく分からなくて、とにかくメニュー項目がたくさんあり:

  • 貼り付け
  • 同じ位置に貼り付け
  • 選択範囲に貼り付け
  • 選択範囲内の同じ位置に貼り付け
  • クリップボードから生成:レイヤー
  • クリップボードから生成:レイヤー(同じ位置)
  • クリップボードから生成:画像
  • クリップボードから生成:新しいパターン
  • クリップボードから生成:新しいブラシ

これ多分作った人も使い分けできないよね。貼り付けの動作自体も若干複雑で、レイヤーではなくフローティング選択範囲というものが生成される。その状態で新規レイヤーを生成すればそれに固定される。一方レイヤーの固定という機能を呼ぶとカレントのレイヤーに固定される。

ということでベースとしてはPhotoshopを参考にしたい。ただレイヤーマスクはまだ作るわけじゃないので「選択範囲へペースト」は後回し。

さて貼り付けを作る場合、桃にとって最も大きいインパクトは、従来はレイヤーが3枚に固定されていたのを基本的に制限なしに自由に増減できるようにしないとならないということだ。

内部的な機構についてはそのようにできるようにするためにいろいろ書き換えてきたので問題はないのだが、めんどくさいのはいわゆるレイヤーパレットというものを作らないといけないのである。つまり、UIの問題だ。

Leave a Reply

Your email address will not be published. Required fields are marked *