[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: 透明 favicon



From: Katsumi Yamaoka <yamaoka@xxxxxxx>
Subject: [emacs-w3m:09833] Re: 透明 favicon
Date: Wed, 12 Dec 2007 08:02:20 +0900

> >> 背景色が透明な favicon を表示するサイトがあるのですが、普通のバッ
> >> ファの背景色が見えてしまってカッコ悪いので、header line か mode
> >> line の色が表示されるようにしました。
> 
> > この方法は少しまずい気がします。
> [...]
> > ということで、ここで指定された色(または heuristic が指定された時は四隅
> > で一番頻出の色)が透過されるみたいです。
> 
> ああー、そうなんです。ぼくも昨晩それを思い出したんですが、検証あ
> りがとうございます。先の変更はいったん取り下げました。

いえいえ。

> >> それから、http://fedora-jp.sourceforge.jp/ の favicon が透明な背
> >> 景色を使っている Fj というイメージなんですが、なぜか Emacs では
> >> F の上の横棒が欠けてしまいます。Firefox や XEmacs では問題無いん
> >> ですが。どなたかわかります?
> 
> > Firefox などの挙動は見てないのですが、 ImageMagick 付属の display だと
> > 周りが白で Fj の中がくり抜かれている画像に見えます。周辺の白の部分が透
> > 過されてしまって横棒が欠けているように見えるのではないでしょうか?
> 
> むう、そう見えますか?
> 
> $ convert --version
> Version: ImageMagick 6.3.5 09/20/07 Q16 http://www.imagemagick.org
> Copyright: Copyright (C) 1999-2007 ImageMagick Studio LLC
> 
> を使って http://fedora-jp.sourceforge.jp/ の favicon を
> 
> $ cat favicon.ico | convert -geometry 48x48 ico: png:- | display -
> 
> で表示したものを添付しますね。背景の市松模様は、display が透過色
> を表示する場合の仕様です。

むむ、うちのとはマスク位置が正反対です。

$ convert --version
Version: ImageMagick 6.2.8 06/14/06 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC

を使い同様に表示したものを添付します。

http://www.imagemagick.org/script/changelog.php に

2007-11-02 6.3.7-0 Cristy <quetzlzacatenango@xxxxxxxx>                           
    Fixed transparancy bug for the ICO image format.

とあるのが気になります。

> もう一つの手としては create-image の引数で :background "色" を指
> 定すると、少なくとも png ではできるみたいです。ただ、ImageMagick
> や Emacs が link している libpng のバージョンにもよるかもしれな
> いので、油断ができません。

うぅむ、 :background はぼくも気がついたのですが、Emacs 22.1.50.1 、
libpng が

$ strings /home/QtPalmtop/bin/emacs|grep png|grep version
libpng version 1.2.14 - November 28, 2006
libpng version 1.2.14 - November 28, 2006 (header)

で試してみてもうまくいきませんでした。

http://www.debian.org/ の favicon に対して

(insert-image
 (create-image "~/deb.png" 'png nil))
=> 背景が白

(insert-image
 (create-image "~/deb.png" 'png nil :background "red"))
=> 背景が黒 (= バッファの背景)

となりました。透過だけはされているのかな?この時は、ちゃんと透過色だけが
色抜きされてます…。不思議…。これを利用して、mode-line の背景色を指定
してやると透過できているように見えるかもしれませんね。

PNG image