ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

ブラウザを人物の形にする話。GoogleのChromeのソースはここにあるそうなので・・

2008-09-09 12:14:01 | Weblog

まえに、
たしかに、ブラウザの形は四角でなくてもいいかも!画面を切り抜いた形にするとか。。。
http://blog.goo.ne.jp/xmldtp/e/c2687ae64b7f6987ab8b7e21b1036dae

という話を書いた。

 このとき、ブラウザを人の形とかにするのに、ブラウザに表示されるHTMLの背景写真をもとに、切り抜いた形にすれば?という話をしたけど、それについて、Windows2000以上において、どうやるかというのを書いていなかったので、その話について。




■まず、どーいうものをやろうとしているかというはなし。

 ブラウザで、硝子窓みたいなことをさせようと考えています。
硝子窓ライブラリ
http://www.ksky.ne.jp/~seahorse/libgw/


 その硝子窓のページに出ているサンプルは、硝子窓という文字以外は、地の壁紙部分が見えています。
 このように、人物だったら人物以外のところは、地の壁紙部分が見えるようにする。という話です。

 で、その方法として、

  ・HTMLで背景にイメージをいれ、
  ・イメージ中、透明(地が見える)にしたいところに、特定の色を塗る
  ・ブラウザが、そのHTMLを表示すると、特定の色のところは透けて地が見える。
  ・結果として、人物の形にあわせて特定の色を塗った画像を背景におけば、

 ブラウザが人物の形になる。




■Windows2000では、どーやるか

 この「特定の色のところは透ける」ようにするのは、
   Windows2000以前では、SetWindowRgnで切り抜かないといけない
 と書きました。で、Windows2000以上でのやりかた、思い出しました!
   Windows2000以上では、SetLayeredWindowAttributesですね!

 くわしいことは、
ここ
http://homepage1.nifty.com/ken1/win2kapi.html

などに載っていますが、たとえば、0xffffff(しろ)を
透明にしたい場合(って、白を抜くことはないと思うけど ^^;)

	HMODULE hDLL;
	PFUNC pFunc;

	hDLL=::LoadLibrary("user32");
	typedef DWORD (WINAPI *PFUNC)(HWND,DWORD,BYTE,DWORD);
	pFunc=(PFUNC)::GetProcAddress(hDLL,"SetLayeredWindowAttributes");
	if(pFunc)
	{
		lExStyle	=	::GetWindowLong(pWnd->m_hWnd,GWL_EXSTYLE);
		lExStyle	|= 0x80000;
		::SetWindowLong(pWnd->m_hWnd,GWL_EXSTYLE,lExStyle);
		pFunc(pWnd->m_hWnd,0xffffff,0,1); // CWnd *pWndはすでに設定済として
		::FreeLibrary(hDLL);
	}


って、こんなかんじだったとおもう。
9月24日:上記リストの赤字部分追加
(上記のリンク先は、半透明の例が載ってますね!)




■で、Googleのソースはここにあるそうなので・・・

で、Google Chromeのソースコードは、
ここのブログ
Google Chromeのソースコード
http://yebo-blog.blogspot.com/2008/09/google-chrome_03.html


をみて、そこにいくと、最終的には・・・

V8のJavascript解析部分のソースは、
Subversionで
   svn checkout http://v8.googlecode.com/svn/trunk/ v8
で、そしてWindows用のChromium(V8以外のブラウザ部分)は、
Build Instructions (Windows)
http://dev.chromium.org/developers/how-tos/build-instructions-windows

にダウンロード方法が書いてあるようなので、

そこから、ソースを取ってきて、ブラウザのウィンドウに対して、上記の透明操作を埋め込めば、
ブラウザが、人物とか、熊とか、お城とか、いろんな形に出来る・・・

・・・かもしれないけど、いま、そんな暇はない・・・


この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« グーグル、設立10年の曲が... | トップ | パソコンの「お祓い」 »
最新の画像もっと見る

Weblog」カテゴリの最新記事