[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 透明 favicon
青田です。解決策発見かも?
From: Katsumi Yamaoka <yamaoka@xxxxxxx>
Subject: [emacs-w3m:09837] Re: 透明 favicon
Date: Wed, 12 Dec 2007 15:51:43 +0900
> >>>>> In [emacs-w3m : No.09836] 青田さん wrote:
>
> >> Version: ImageMagick 6.3.5 09/20/07 Q16 http://www.imagemagick.org
> >> を使って http://fedora-jp.sourceforge.jp/ の favicon を
> >> $ cat favicon.ico | convert -geometry 48x48 ico: png:- | display -
> >>
> >> で表示したものを添付しますね。背景の市松模様は、display が透過色
> >> を表示する場合の仕様です。
>
> > むむ、うちのとはマスク位置が正反対です。
> > Version: ImageMagick 6.2.8 06/14/06 Q16 http://www.imagemagick.org
> > を使い同様に表示したものを添付します。
>
> ええっ、これが同じ画像だなんて信じられませんね。絵づらは XEmacs
> が modeline に表示するものと良く似ています。同じ convert を使っ
> て w3m-favicon-type の値も同じ png なのに、どうしてこうも違うの
> かしらん。ちなみに Emacs が表示するものは IE6 のと似ていて、どち
> らも "F" の上の横棒が欠けています。
> [...]
> ほほう。6.3.7-3 を試してみました。これだと "F" の上の横棒が見え
> ます:
とすると、今のところ以下の3タイプなんでしょうか。
Fj型
Firefox
ImageMagick 6.3.7-3
|-j型
Emacs(ImageMagick 6.3.5 libpng 1.2.22)
IE6
Meadow
Fjくりぬき型
XEmacs(ImageMagick 6.3.5)
Emacs(22.1.50.1 arm-sharp-linux-gnu ImageMagick 6.2.8・libpng 1.2.14)
Windows のエクスプローラやペイントあたりで見るとどうなるか知りたいです
ね。その表示が一応公式でしょうから。
;; でも、 IE6 は |-j なんですよねぇ…。さすがにこれが公式だとは思いたく
;; はないですが ^^;
;; Fedora Japan の中の人が間違ってるビューアで見ながら作ったからという
;; オチだったりして…。
>> http://www.debian.org/ の favicon に対して
>
>> (insert-image
>> (create-image "~/deb.png" 'png nil))
>> => 背景が白
>
>> (insert-image
>> (create-image "~/deb.png" 'png nil :background "red"))
>> => 背景が黒 (= バッファの背景)
>
>> となりました。
>
> ことらではどちらも背景が黒。ほよよ。
これはどうやら、 Emacs の以下の変更によるものみたいです。 png のデフォル
トの背景が白だったんでしょう。
Emacs cvs src/ChangeLog より
,----
|2007-08-06 Chong Yidong <cyd@xxxxxxxxxxxxxxxxx>
|
| * xdisp.c (redisplay_window): When restoring original buffer
| position, make sure it is still valid.
|
| * image.c (png_load): Ignore png-supplied background color.
`---
>> 透過だけはされているのかな?この時は、ちゃんと透過色だけが色抜きされて
>> ます…。不思議…。これを利用して、mode-line の背景色を指定してやると透
>> 過できているように見えるかもしれませんね。
>
> やっかいなのは header line と mode line の背景色が同じではないこ
> と、さらに mode line の色は選択されているときとそうでないときで
> 変化することですね。
>
> あるいは表示する favicon の左右に 1-dot 幅の透明な縦棒をくっつけ
> て heuristic を使うとか...ううむ、降りたくなってきた。^^;;
debian の favicon が white を指定しても透過できちゃったので、これだと必
要以上に消してしまう可能性が残るのでは?
> それから、png の透過色は、こことか emacs-devel で過去に話が出て
> ましたが、まだ Emacs の普通のバッファ上ではサポートされていない
> と思うんですよ。だから上記の青田さんの例は、こうでもして実験しな
> いといけないと思います。
> [...]
試してみましたが、結果は変わらずです。 w3m-favicon.el のほうもいじって
みましたが同様です。しかも、背景が header line の背景(灰色)になりません
でした。どうも :background が指定されると、 frame の背景色で上書きする
みたいです。
それで、
$ cat deb.ico|convert -geometry 48x48 ico: png32:- > deb.png
として、pngの形式を固定してやるとうちでも :background の色が背景になる
ことがわかったのですが、ここで
(create-image "~/deb.png" 'png nil :background "")
などと、存在しない色名をいれとくと透過が残ります。とりあえず、
"none","hoge"で OK でした :-) よろしければ、追試お願いします。
;; 書いてる途中で発見したので、ごちゃごちゃしたメールになってしまいまし
;; た。ご勘弁ください ;-)