Ctrl+A 画像を w3m で見るための local-cgi
Internet Explorer で Ctrl+A を押すと画像が選択されて青い網がかかる、という仕組みがあります。これを利用すると、画像を選択すると選択前とは違った画像が見える、といったことができます。(参考 hirax.net::「全てを選ぶ」と見えないものが見えてくる::(2003.03.31)) ですが、この画像は Internet Explorer でしか楽しめません。
そこで w3m からでも網がかかった画像を見られるようにする local-cgi を考えてみました。
下のような cgi です。よくわからないまま PerlMagick を使っています。
#!/usr/local/bin/perl -w # .w3m/keymap に # keymap 適当なキー GOTO file:///cgi-bin/このcgiの名前 # を加える use strict; use Image::Magick; my $url = $ENV{W3M_CURRENT_IMG}; my $file="/tmp/w3mctrla$$"; system("/usr/bin/w3m -dump_source $url > $file"); my $image1 = Image::Magick->new; $image1->Read($file); my $image2 = Image::Magick->new; $image2->Set(size=>"2x2"); $image2->ReadImage('xc:#c0c0FF'); $image2->Draw(primitive=>'point', points=>'1,0', fill=>'white'); $image2->Draw(primitive=>'point', points=>'0,1', fill=>'white'); $image2->Transparent(color=>'white'); $image1->Composite(image=>$image2,compose=>'Over', tile=>'True'); print "Content-type: image/png\n\n"; binmode STDOUT; $image1->Write('png:-'); undef $image1; undef $image2; unlink($file); exit;