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

Re: 透明 favicon



>>>>> In [emacs-w3m : No.09832] 青田さん wrote:

>> 背景色が透明な favicon を表示するサイトがあるのですが、普通のバッ
>> ファの背景色が見えてしまってカッコ悪いので、header line か mode
>> line の色が表示されるようにしました。

> この方法は少しまずい気がします。
[...]
> ということで、ここで指定された色(または heuristic が指定された時は四隅
> で一番頻出の色)が透過されるみたいです。

ああー、そうなんです。ぼくも昨晩それを思い出したんですが、検証あ
りがとうございます。先の変更はいったん取り下げました。

> また、 http://www.debian.org/の favicon (四隅全て透過色)を同様に png
> に変換したものを :mask 'heuristic としても :mask (list 'heuristic
> (color-values "white")) としても同じ結果が得られることから、透過色を
> 指定してマスクすることも不可能みたいです。

なるほど。

>> それから、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 が透過色
を表示する場合の仕様です。

PNG image

一方、Firefox では tab 上でこんなふうに表示されます。

PNG image

> Emacs が透過色を白と混同している限りは、透過を実現しようとするなら、
> convert に -background で何か背景色(もとの画像に存在しないもの)を与えて、
> 透過色を上書きして、その色を :mask で抜いていくしかないように思えます。

> ;; #FF0000,#00FF00,#0000FF,#010101 くらい調べれば一つくらいは使っていな
> ;; い色に当たりそうですが、問題はその色を使っていないことをどうやって調
> ;; べるかですね :-(

> ;; 逆に「透明な部分の色を好みに応じて変え」ることは、 convert で
> ;; -background '好みの色' とすればできそうです。

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

(実は他にもいろいろ書きはじめたんだけど、もっと検証してから出直
そうと思います。)

ともあれ、相手して下さってありがとうございます。:)
-- 
山岡