パスワードを忘れた? アカウント作成
495772 journal

tarosukeの日記: [talos]カーソル用画像取り込み 12

日記 by tarosuke

.ppmって24bitsであって32bitsではないんだよな...つまりアルファチャネルがないわけで、でもカーソルの定義にはアルファチャネルが必要。アルファチャンネルを使える.ppmっぽいフォーマットには一応.pamっつーフォーマットはあるけど、GIMPはそのフォーマットでは保存できない。いっその事暫くは「全色0なら透明」とかしておこうか。#000000と#010101の違いなんてわからんし(ぉ

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • とかいうのが多いみたいですね.
    例えばマゼンタを使うとかそんなの.
    #ビデオのオーバレイでは良く使われている色みたい.
    GIF見たいに透明色を指定できればいいのではないかと.
  • by Anonymous Coward on 2007年05月01日 10時10分 (#1150804)
    GIMPはXPMだと透過色を保存してくれますよ。ただしXPMでαチャンネルが使えるわけではなく、あくまで透過色を特別扱いです。XPMはソースから直接#includeして使いますが、他の形式に変換するのも簡単です。私はKDE用とかのアイコンをGIMPで作って、XPMで保存してからImageMagickでPNGに変換して使っていました。その場合、PNGでは透過色がARGB=(0,0,0,0)として変換されます。
    • by tarosuke (2403) <webmaster@tarosuke.net> on 2007年05月01日 23時22分 (#1151268) 日記
      XPMについて調べてみますた。
      えー、あー、しかしー、XPMはフォーマットとしてキチャナイように思えたのでXPM使うのはやめときますです。
      親コメント
      • by Anonymous Coward
        書き方が悪かったかもしれませんが、XPMを推奨しているのではありません。GIMPからXPMだとARGB=(0,0,0,0)を保持して保存できるので、後はImageMagickで好きな形式に変換すればOKという話です。つまりGIMPからはXPMで扱って、ImageMagickでお目当ての形式に変換するというテクニックの紹介です。その一例としてKDEでのPNGを挙げました。
        • by tarosuke (2403) <webmaster@tarosuke.net> on 2007年05月02日 1時11分 (#1151318) 日記
          コメントありがと。でもどちらにしても今回はその方法は使えないや。前verなら似たような事をしてたかも知れないけど今verはビルド時になるべくコンパイラやアセンブラ以外のライブラリやソフトに依存しないという制限(ソースツリーに重複データを置かないというのも理由)もあるので。だから今verでは.ppmからソースを生成して取り込む事にしました。
          親コメント
          • by Anonymous Coward
            > だから今verでは.ppmからソースを生成して取り込む事にしました。

            これは.ppmからchar配列のソースを生成するという意味でしょうか?
            だとすると.ppmと生成ソースが重複して↓に引っ掛かりませんか?
            > ソースツリーに重複データを置かないというのも理由

            ビルド時生成だからツリーには重複しないということかもしれませんが、とりあえずソース生成の必要のない、バイナリを直接オブジェクトファイル(.o)に取り込む方法 [0xcc.net]を提示しておきます。
            • by tarosuke (2403) <webmaster@tarosuke.net> on 2007年05月02日 13時56分 (#1151544) 日記
              >バイナリを直接オブジェクトファイル(.o)に取り込む方法
              それはver0.1の頃に検討したけど、エンディアンを考えるとバイナリデータを直接取り込むアプローチは採用できないんです。途中で判断や変換を入れる必要があるので今は対応していなくてもそれができるような構成にしておく必要があるわけで。
              親コメント
    • by Anonymous Coward
      補足です。この書き方だと誤解がありそうですが、特定の色を透過色にするという意味ではなく、αチャンネルを出力に反映しなくてもARGB=(0,0,0,0)だけは特別扱いしてくれるという意味です。それをImageMagickで他の形式に変換するときも生きてくるということです。
typodupeerror

海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs

読み込み中...