のみまくし日記

毎日が文化祭の前日、そんな環境っていいですよね。この日記は未来の自分へのメッセージです。

2003年04月25日 ()

blogtimes 見たいの

blogtimes みたいのを Image::Magickで作ってみました。かなり適当で値はほとんど直書きです。(BERO)

書き込みしている時間がわかるので、仕事してないの丸わかり。(一応、就業前と昼休みの時間帯に集中しているみたいだけど)

画像の位置の収まりがわるい。まいっか、そのうち。

cat times_gif

$ times_gif /path/to/2003_04.gifみたな感じで使えます。

#!/usr/bin/perl
use strict;
use Image::Magick;

use POSIX qw(strftime);

my $width  = 160;
my $height = 40;
my $base   = "/home/takefumi/bin/gif_time/base.gif";
my $font   = '/home/takefumi/bin/gif_time/ASOSBEAT.TTF'; # http://www.asos.jp.org/
my $time   = time();
my $file   = $ARGV[0];

    delete $ENV{LANG};

    my $image = new Image::Magick;

    #
    # 既存ファイルの読み込み
    #
    if (-f $file) {
        $image->ReadImage($file);
    }

    #
    # 初期化
    #
    else {
        $image->ReadImage($base);

        #
        # 月と年
        #
        $image->Annotate(
            x => 10,
            y => 9,
            font => $font,
            pointsize =>'8',
            fill => '#000000',
            text => uc join " ", split //, strftime("%B %Y", localtime($time)),
        );

        # 時間のオビ
        $image->Draw(
            stroke    => '#AAAAAA',
            fill      => '#AAAAAA',
            primitive => 'rectangle',
            points    => "10,10 150,25"
        );

        # 時間のモジ
        my $i =10;
        for (0..12) {
            $image->Annotate(
                x => $i,
                y => 34,
                font=> $font,
                pointsize=>'8',
                fill=>'#000000',
                text=> $_ * 2
            );
            $i = $i + (($width-20)/12);
        }
    }

    #
    # 時間の書き込み
    #
    my ($m, $h) = (localtime($time))[1,2];
    my $time = int(($h * 60 + $m) / (60/(($width-20) / 24))) + 10;
    $image->Draw(
        stroke    => '#FFFFFF',
        fill      => '#FFFFFF',
        primitive => 'rectangle',
        points    => "$time,10 $time,25"
    );

    #
    # 書き込み
    #
    $image->Write($file);

Perl posted by takefumi | この日記へリンク | コメント(0) | トラックバック(0)

この日記へのトラックバック

この日記へのコメント