                                   Tux Paint
                 バージョン 0.9.31 スタンプ作成の詳細について

        Copyright © 2006-2022 by Albert Cahalan ほか; AUTHORS.txt 参照.
                             https://tuxpaint.org/

                                 2022年6月 4日

-------------------------------------------------------------------------------
+----------------------------------+
|               目次               |
|----------------------------------|
|   * この解説について             |
|   * 使用する画像の選択           |
|   * マスクの設定                 |
|   * 縁取りと不要なピクセルの除去 |
|   * Tux Paint 用の画像の保存     |
+----------------------------------+
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------

この解説について

    この解説では、デジカメ写真などのJPEG画像をもとに、PNG形式で、高いクォリティ
    の Tux Paint 用スタンプを作成したいという場合を想定しています。クォリティに
    こだわらなければ、もっと簡単で早い方法もあります。

    扱う対象としては、通常の透明ではないものを前提としており、半透明のもの
    （火、動く扇風機の羽根、風船）や発光するもの（火、電球、太陽）を扱うには、
    専用のソフトウェアを使用するのが最適です。背景が完全なベタ塗りの画像も、専
    用のソフトを使うのが良いですが、以下のようにしても問題はありません。

-------------------------------------------------------------------------------

使用する画像の選択

    著作権

        Tux Paint の開発者に作品を提供して公式プロジェクトへの採用を検討しても
        らいたい場合や、Tux Paint に独自の画像を同梱して配布したい場合には、Tux
        Paint が採用しているライセンスである GNU 一般公衆利用許諾と互換性がある
        ライセンスの画像を用いる必要があります。

        米国政府が制作した画像はパブリックドメインですが、米国政府がウェブ上で
        パプリックドメイン以外の画像を使用していることもあるので注意が必要で
        す。Googleの画像検索で、site:gov またはsite:mil のいずれかを指定する
        と、適切な画像が多数表示されます。（注: *.mil のサイトには、軍事関係以
        外のコンテンツも含まれています！）

        自分自身で作成した画像は、クリエイティブ・コモンズ CC0といったパブリッ
        クドメインあるいは適切なライセンスである旨を明示すれば、そのように位置
        づけることができます。（法的なアドバイスが必要だと感じたら、弁護士に相
        談してください）

        個人的に使用する場合は、合法的に修正して使用できる画像であれば問題あり
        ません。

    画像の大きさと向き

        使いやすい向きの画像が必要で、遠近感のあるものは禁物です。被写体を隅の
        方から見たような画像は、お絵かきに使うには向いていません。一般的には、
        遠方から、かつ、真横から見たような画像がベストです。実際にはありえませ
        んが、例えば車の2つの車輪が他の2つの車輪の後ろに完全に隠れているという
        ようなものが理想的です。

        画像を回転させるとぼやけてしまいます。回転を必要としない画像が最良で、
        大きな角度の回転（30〜60度）を必要とする画像が次に良く、わずかに（数
        度）回転が必要な画像は最悪です。画像を回転させると暗くなりますが、これ
        は、ほとんどの画像編集ソフトはガンマ値の扱いが非常に不適切だからです。
        （回転はガンマ値が1.0の画像にのみ有効です）。

        非常に大きなサイズの画像は、ミスに寛容なので、作業がしやすくなります。
        できれば 1000 ピクセル以上の被写体が写っている画像を選びましょう。編集
        後に縮小することで、細かいミスを目立たなくすることができます。

        画像が、粒度が粗すぎたり、薄暗すぎたり、半透明になりすぎたりしないよう
        に注意してください。

        生き物の足や車のホイールなどにも注意が必要です。これらが何かに隠れて見
        えなくなっている場合は新しく描き足す必要があります。隠れているのが一部
        だけの場合は、他の部分をコピーして描き換えることができるかもしれませ
        ん。

-------------------------------------------------------------------------------

画像の準備

    まず、画像をJPEGで保存し直さないようにしてください。これは品質低下の原因と
    なります。jpegtranという特別なツールを使えば、品質を維持したまま画像を切り
    抜くことができます。

        jpegtran -trim -copy none -crop 512x1728+160+128 < src.jpg >
        cropped.jpg

    次に、切り抜いた画像を画像エディタで表示させます。トリミングをしていない大
    きな画像を開く場合は、画像エディタの動作が非常に遅くなるかもしれません。必
    要に応じて画像を回転させたりトリミングしたりして、画像を保存します。保存の
    際は、レイヤー、マスク、アルファチャンネルなどが保存されるように、各ソフト
    ウェア専用のフォーマットを選択します。GIMPをお使いの方は「XCF」、Adobe
    Photoshopをお使いの方は「PSD」などを選択して下さい。

    画像編集ソフトで画像を回転させたり切り抜いたりした場合は、マスクやアルファ
    チャンネルのない１層の RGB レイヤーに統合して下さい。

    レイヤーダイアログボックスを開いて、以下のように、レイヤーを上から順に何度
    か複製します:

     1. 編集前の画像（可能であればプロテクトする）
     2. 編集を行う画像－ "作業用" レイヤー
     3. グリーン１色のレイヤー（可能であればプロテクトする）
     4. マゼンダ１色のレイヤー（可能であればプロテクトする）
     5. 編集前の画像（可能であればプロテクトする）

    作業用レイヤーに、大まかに初期マスクを作成します。選択範囲から始めても良い
    ですし、作業レイヤーのグレースケール値を用いても良いでしょう。また、マスク
    を反転させることもできます。

    注: マスクを設定した後は、画像の回転や拡大縮小は行えません。これはデータ損
    失の原因となります。サイズを調整するための特別な方法は後述します。

-------------------------------------------------------------------------------

マスクの設定

    レイヤーダイアログのサムネイル画像を [Control] キーを押しながらクリックした
    り、[Alt] キーを押しながらクリックしたりすることに慣れておきましょう。これ
    は、何を見て何を編集しているかを把握するために必要となります。例えば、変更
    されていない画像を見ながら作業用レイヤーのマスクを編集する場合など、見えて
    いないものを編集することもあります。混乱して間違ってしまわないように注意し
    てください。自分が編集しているものが正しいかどうかを常に確認するようにしま
    しょう。

    一番上のオリジナル画像のレイヤーを表示しながら、作業用レイヤーに対して編集
    を加えるするように設定します。編集作業の必要に応じて画像を約400％に拡大して
    ください（画像の各ピクセルを画面上 4x4 ピクセルのブロックとして表示し、編集
    することができます）

    Select parts of the image that need to be 100% opaque or 0% opaque. If you
    can select the object or background somewhat accurately by color, do so. As
    needed to avoid selecting any pixels that should be partially opaque
    (generally at the edge of the object) you should grow, shrink, and invert
    the selection.

    Fill the 100% opaque areas with white, and the 0% opaque areas with black.
    This is most easily done by drag-and-drop from the foreground/background
    color indicator. You should not see anything happen, because you are
    viewing the unmodified image layer while editing the mask of the WIP layer.
    Large changes might be noticable in the thumbnail.

    次に、画像を拡大します。

    作業内容を確認します。まず、一番上のオリジナルレイヤーを隠します。マスクだ
    けを表示すると、黒の背景に白のオブジェクトが表示されるはずです (おそらく輪
    郭の部分には未編集のグレーが表示されます)。次に作業用レイヤーを通常通り表示
    し、マスクがアクティブになるようにします。これで、あなたのオブジェクトが、
    次の有効レイヤーの上に表示されるはずです。このレイヤーは、コントラストを最
    大にするために、必要に応じてグリーンまたはマゼンタにする必要があります。緑
    のレイヤーを繰り返しクリックして有効/無効にすることで、これらの背景を行った
    り来たりすることができます。マスクを見ながら編集して、単純なミスを修正しま
    す。

    作業用レイヤーのマスクを編集しながら、一番上のオリジナルレイヤーの表示に戻
    ります。描画ツールを「ブラシ」に設定します。ブラシには、円形の小さなぼかし
    筆を選びます。5x5 サイズがほとんどの場合に適しています。

    ゆっくりとぶれないように画像の輪郭をトレースします。外側には黒色、内側には
    白色を使います。色を変更しないまま複数のパスにならないように注意して下さ
    い。

    表示をちらっと反転させ、マスクがうまく機能していることを確認します。作業用
    レイヤーをグリーンまたはマゼンタの上に合成すると、元の背景が、境界周りのほ
    んのわずかなギザギザした縁取りのように見えるはずです。この縁取りが見えない
    場合、オブジェクトマスクを小さくしすぎたことになります。この縁取りを構成す
    るピクセルは、完全にオブジェクト内でもオブジェクト外でもありません。そのた
    め、マスクは100%でも0%でもありません。この縁取りはこの後に取り除かれます。

    マスクを表示して編集します。黒か白の色で領域を選択します。ほとんどの場合、
    選択されていない色の斑点が残っていると思います。選択範囲を反転させ、鉛筆
    ツールを使ってこれらの点を取り除きます。この作業を白と黒の両方で行います。

-------------------------------------------------------------------------------

縁取りと不要なピクセルの除去

    マスクをを表示しながら、黒で領域を選択した後、選択範囲を数ピクセル縮小しま
    す。ただし、マスクの端から縮小しないように注意してください（縮小すること
    で、ミスを防いだりやり直したりすることができます）

    ここでマスクを無効にします。マスクされていない作業用レイヤーを表示して編集
    します。色選択ツールを使って、対象の平均的な色を選択します。この色を選択範
    囲にドラッグ＆ドロップすると、オブジェクト以外のピクセルのほとんどが削除さ
    れます。

    この単色の領域は、Tux Paintが画像を縮小する際に生じる縁取りを抑制するのに役
    立ちます。オブジェクトの輪郭に大きく異なる複数の色がある場合は、選択範囲を
    分割して、近くの背景が似たような色になるようにします。

    ここで、輪郭周りの縁取りを消去します。作業用レイヤーの画像を編集、表示して
    いることを確認してください。以下の全てのレイヤーを頻繁に切り替えて表示する
    ことで、自分が何をしているのかを確認することができます:

      + グリーンとの合成（マスク有効）
      + マゼンタとの合成（マスク有効）
      + オリジナル（一番上、または一番下のレイヤー）
      + オリジナルとの合成（マスク有効）
      + 作業用レイヤー（マスク無効）

    失敗を減らすために、マスクの中の灰色ではないピクセルだけを選択するとよいで
    しょう。（「マスクから色で領域選択、黒を選択、色加算モード、白を選択、反
    転」あるいは「すべてを選択、マスクから色で領域選択、色減算モード、黒を選
    択、白を選択」）この作業を行う際、選択範囲を少し広げて、選択領域を示す線を
    隠したくなるかもしれません。

    Use the clone tool and the brush tool. Vary the opacity as needed. Use
    small round brushes mostly, perhaps 3x3 or 5x5, fuzzy or not. (It is
    generally nice to pair up fuzzy brushes with 100% opacity and non-fuzzy
    brushes with about 70% opacity.) Unusual drawing modes can be helpful with
    semi-transparent objects.

    最終目標は、オブジェクトの内側と外側の両方の縁取りを除去することです。内側
    の縁取りは、マゼンタやグリーンの上にオブジェクトを合成したときに見えるもの
    で、明らかに除去が必要です。外側のフリンジは、画像を縮小したときに見えるよ
    うになるため、こちらも除去する必要があります。例として、鋭角なオブジェクト
    の輪郭にある2x2のピクセルの領域を考えてみましょう。左半分は黒で、不透明度は
    0％。右半分は白で、100％不透明です。つまり、黒い背景に白い物体がある状態で
    す。Tux Paintがこれを50％（1x1ピクセルの領域）にスケーリングすると、結果は
    グレーの50％不透明ピクセルになりますが、正しい結果は、白の50％不透明ピクセ
    ルです。この結果を得るためには、黒いピクセルを塗り潰します。不透明度が0％で
    あるにもかかわらず、黒いピクセルは重要です。

    Tux Paint では、画像を非常に大きく縮小することができるため、オブジェクトの
    輪郭を外側に大きく広げることが重要です。オブジェクトの輪郭の部分では、非常
    に正確に処理する必要がありますが、輪郭から離れるにつれて、少々手を抜いても
    大丈夫です。十数ピクセル以上外側まで描くとちょうど良くなります。これを太く
    すればするだけ、Tux Paintは汚い色の縁どりを発生させずにスケールダウンするこ
    とができます。オブジェクトの端から数ピクセル以上離れた部分については、鉛筆
    ツール（またはドラッグ＆ドロップで適当に色を選択）を使用して、結果がきれい
    に縮小されるようにしてください。

-------------------------------------------------------------------------------

Tux Paint 用の画像の保存

    It is very easy to ruin your hard work. Image editors can silently destroy
    pixels in 0% opaque areas. The conditions under which this happens may vary
    from version to version. If you are very trusting, you can try saving your
    image directly as a PNG. Be sure to read it back in again to verify that
    the 0% opaque areas didn't turn black or white, which would create fringes
    when Tux Paint scales the image down. If you need to scale your image to
    save space (and hide your mistakes), you are almost certain to destroy all
    the 0% opaque areas. So here is a better way...

    より安全な保存方法

        マスクをレイヤーダイアログからツールバーの未使用部分（最後の描画ツール
        の直後）にドラッグします。これで、マスクデータを含む1つのレイヤーからな
        る新しい画像が作成されます。これを、使用する設定に応じた希望のサイズま
        で縮小します。多くの場合、700～1500ピクセル程度の画像から始めて、最終的
        には300～400ピクセル程度の画像を作成します。

        マスク画像を NetPBM の Portable Greymap (".pgm") ファイルとして保存しま
        す。(古いバージョンの GIMPを使用している場合は、保存する前に画像をグ
        レースケールに変換する必要があるかもしれません)。よりコンパクトな「RAW
        PGM」フォーマットを選択して保存します。(ファイルの2文字目はASCII数字の
        「5」、16進数のバイト0x35である必要があります)

        マスク画像を閉じます

        マルチレイヤー画像に戻って、作業用レイヤーを選択します。マスクと同じよ
        うに、レイヤーダイアログからツールバーにドラッグしてください。これで作
        業用データの単一レイヤー画像ができあがります。マスクが付いていた場合は
        取り除かれます。レイヤーダイアログにマスクのサムネイルが表示されていな
        い状態で、オブジェクトと輪郭の縁取りが表示されているはずです。マスクを
        拡大縮小したのであれば、この画像も同様に正確に拡大縮小してください。こ
        の画像を NetPBM の Portable pixmap (".ppm") ファイルとして保存します。
        (注: .ppm ではなく .pgm です。) (RAW PPMフォーマットを選択した場合、
        ファイルの2バイト目はASCII数字の "6"、16進数のバイト0x36である必要があ
        ります)

        最後に、以下のように pnmtopng コマンドで、２つのファイルを１つに合成し
        ます:

            pnmtopng -force -compression 9 -alpha mask.pgm fg.ppm >
            final-stamp.png

