M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2010年3月22日 17:54

h2要素やh3要素で使う用グラデを吐きだすPerl CGIスクリプト

このエントリーをはてなブックマークに追加 mixiチェック

とにかくh2要素やらh3要素あたりにグラデーションの色をつけたいときにこういうグラデーションを吐きだすスクリプトを社内でも社外でもいいから設置しておくと助かりますよね。少なくともベタよりまし。類似品あると思うけど検索しないで自分で作るの巻。

たとえば桜の季節なんでこんな感じに。

h3 {
  height: 44px;
  padding: 6px;
  color: #833;
  background-color: #fcc;
  background-image: url(http://labo.dtpwiki.jp/grad/grad.cgi?height=56&start=ffcccc&end=fff8f8);
}
開花がどーたら

Filename: grad.cgi

#!/usr/bin/perl
 
use strict;
use warnings;
use CGI;
use Image::Magick;
 
my $q = CGI->new;
(my $height = $q->param('height') || 32) =~s/\D//g;
(my $width  = $q->param('width' ) || 1 ) =~s/\D//g;
(my $start  = $q->param('start' ) || 'cccccc') =~s/\W//g;
(my $end    = $q->param('end'   ) || 'ffffff') =~s/\W//g;
 
my $img = Image::Magick->new;
$img->Set(size=>"${width}x$height");
$img->Read("gradient:#$start-#$end");
 
print $q->header(
  -type=>'image/jpeg',
  -Cache_Control=> 'max-age=259200', # 3days
);
binmode STDOUT;
print $img->Write('jpeg:-');
 
undef $img;
 
exit;
 
__END__

max-ageっていうところでキャッシュが3日間有効にしてありまして、一度目のアクセス時はCGIが動いてJPEGを吐きだすけれども、2回目のアクセスの時は3日以内だったら取得しに行かずブラウザのキャッシュを使うっていう設定です。リロードの時は取得するかな。

投稿 大野 義貴 [Perl] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3168

コメントする