GIMPのカラーパレット(gpl)をFire Alpaca向けに変換したい

注:この記事は、無知なまめゆがPythonと格闘したあとの
  覚書みたいなものなので、無駄に長いです。

  (しかも急いだのであんまり校正もしてない )

  3ページ目に手順を要約してあるので、
  Pythonとコマンドラインちょっとわかるぜ!っていう方は
  そこまでスキップするといいかもです。


おはようございます。まめゆです。
ほっとくとすぐ夜型の生活になるから困ったもんです。

僕はいわゆるケモナーと言われる人種(?)なので
隠れた趣味としてケモい絵をちまちまと描くのが好きなんですが、
描いてていつも思うことがあります。

色がわからない。

色が見えないとかそういうことではなく
適材適所、どう色を選べばいいかわからない。

ので、人の作ったカラーパレットに頼りたくなっちゃうんです。



音楽でも何でもそうなんですが、のーみそコネコネな局面に出くわすと
すぐ思考停止して出来合いのサンプルに逃げちゃうので、
そういう習慣がお絵かきの作業にも出ちゃってるんだと思います。


インターネットは素敵なカラーパレットで溢れていて
画像を探すだけでもだいぶ楽しくなっちゃうんですが、
画像の色見本はどうも使いづらい。

せっかくペイントソフト内蔵のパレット機能があるので
できることならそっちを使いたいんですよね。

大半のペイント・レタッチソフトは、パレットの情報を
ファイルに出力して、人に渡したり貰ったりすることができるので
とっても便利です。

僕の愛用しているフリーソフト、Fire Aplacaの場合はどうでしょうか?

パレットウインドウのどこを見ても、
「パレットをエクスポート」とかそういうメニューが見当たりません。
(ありました)

試しに設定フォルダに行ってみると、他のツールの設定ファイルに紛れて
どうもパレットの内容を保持していそうなiniファイルを見つけました。

SysFile
読んで字の如く


結論を言うと、これがパレット定義用のファイルで間違いないのですが、
問題は、FireAlpacaさんがパレットの書き出しと読み込みを
全くサポートしていない点。



別ソフトのパレット情報を扱うには、
どないかして変換の作業をしてやらなあきまへんねや。
世の中一筋縄にはいきませんね。


2021-02-05追記: FireAlpacaにはパレットの読み込み/書き出し機能があるようです

しかし、ソフト専用の形式(FireAlpacaPalette)での書き出しになる上、
中身はiniファイルとまったく同じものになっているので、
色の登録を手動で行わなければいけないことに変わりはありません。

本記事の最終目標はネットに転がったGIMPパレットを
アルパカ向けに変換することなので、
この機能が生きてくるのは変換が成功したあとになりそうですね。

追記部分終わります。

というわけで変換の作業をしていかないといけないんですが、
まずはアルパカちゃんがどのようなフォーマットで
パレット情報を保存しているのか確認しなくてはなりません。

iniファイルはダブルクリックすればテキストエディタで中身を確認できるので、
さっそくやってみたところ・・・

ごめんなにこれ

[ ] の中が連番になってるので、これは色のインデックス番号ってのはわかります

それに続いて、

  • 色の名前
  • 赤の数値
  • 緑の数値
  • 青の数値

とパラメータが連なっています。

で、その肝心の色の数値は、どうも“x86”に続く部分に
”x(16進数二桁)” という形で保存されています。(最大値はFF = 256)


ホームページとか作ったことある方ならわかると思うんですが
パソコンで色を扱うときは、光の三原色の数値を
「赤,緑,青」ってな感じでまとめて一行で記述するのが普通です。

例えば、赤一色を出力したいときは、赤FF, 緑と青は00なので、

#FF0000

と書くことができます。

しかし、アルパカちゃんの設定ファイルの場合、
このFF0000をいちいち FF 00 00 に分けて、
一行ずつ丁寧にコピペしていかなきゃなりません。

数色とかならいいかもしれませんが、それならスポイトで色を取って
ソフト側で登録すりゃいいし、登録したい色が数百とかある場合は、
コピペもスポイトも時間がかかりすぎる。

あまりにも理にかなってなさすぎるので
誰か同じ悩みを抱えてる人がいて、
既にもう解決しちゃってるんじゃないか、と思うわけです。


で、ちょっとググってみたら案の定おられました。

GIMP用パレットファイルをアルパカ用に変換してくれる
Pythonスクリプトを書いてくれた人が。


直リンは避けたいので、「FireAlpacaパレット用Pythonスクリプト」と
ググってみてください。

もう涙が出るかと思いましたね。
プログラミングができると、ほんとになんでも自動化できます。
早く小学校から教えてあげてくれ。マジで


スクリプトの作者は、ytという方。
レターパックのラベルをつくるツールも開発してらっしゃいます。


次ページに続きます。
変換作業がうまく行かず、少しだけ苦しむことになりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です