CodingFirst

C言語、Perl、JavaScript、最近はPythonも。出来上がったものより、プログラムを書くことが好き。あと、スイーツ。

スポンサーサイト

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PerlMagickで複数の画像を1枚にまとめる

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

PerlMagickで複数の画像を1枚にまとめた。

ImageMagickのmontageコマンドでもできて、それは前に書いた。
ImageMagickで撮った月食を1枚にまとめる CodingFirst

PerlMagick は、cpanでなく apt-get で入手した。

$ sudo apt-get install perlmagick

で、作ったコードは下記。
引数に 4つの画像ファイルを指定すると、2x2に結合した out.jpg が出力される。
ちょっといい加減なコードなので、ファイル数に応じて 2x2 を変更したり、 フィルタかけたり、文字描いたり..改造して使うといいでしょう。

#!/usr/local/bin/perl
use strict;
use warnings;
use Image::Magick;
print <<USAGE if $#ARGV==-1;
Usage: montage.pl file..`
USAGE
my $img = new Image::Magick;
$img->Read(@ARGV);
my $mon=$img->Montage(geometry=>'160',tile=>'2x2');
$mon->Write(filename=>'out.jpg');

gistにも貼った。
https://gist.github.com/2621784

実際に作った出力例。

$ perl montage.pl a.jpg b.jpg c.jpg d.jpg

out.jpg:
out_20120506.jpg

最近、コージーコーナーの濃厚レアチーズケーキにはまってる。うまい。。

スポンサーサイト

Perl,PythonでCGI環境変数取得

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

CGIで環境変数の一覧を見たかったので書いた。
短かったので PerlPython

env.jpg

ソースはgistに貼った。
https://gist.github.com/950081

Perl

Python


SubversionのコミットメールをPerlで書いた

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

Subversionのコミット通知メールをPerlで書いた。

svnは中央集権型だからか
誰かがコミットしたとか最新の更新情報が欲しくなるので、
コミット通知はやっぱかかせない。

svnのサーバでコミットメールを配信するには、
リポジトリのhookディレクトリにpost-commitという名の
スクリプトをおいてその中で配信すればいい。
(Windowsの場合はpost-commit.batにするんだったかな)

メール配信するスクリプトは一般的にはcommit-email.plを使う。
このスクリプトはsvn本家のサイトに置いてある..と思ったら、rubyになってた!!
http://svn.apache.org/repos/asf/subversion/trunk/tools/hook-scripts/commit-email.rb

一瞬、これでいいじゃんとは思うけど、
日本語化が必要だったり、BTSとの連携面が弱いので
自分で書いてみた。perlだけど。

書いたスクリプトは gist に置いた。
https://gist.github.com/924175

配信されたメールはこんな感じ。

Date: Mon, 18 Apr 2011 00:08:20 +0900
From: commiter 
To: ccc@ddd.eee
Subject: [yourprj]r1 - first commit

first commit

hogehoge
ageage

(refs #1,2,3000)
(refs 4)

Author:  commiter
Date:    2011-04-18 01:00:15 +0900 (月, 18  4月 2011)
Rev:     r1 http://path/to/trac/yourprj/changeset/1
Tickets: #1 http://path/to/trac/yourprj/ticket/1
         #2 http://path/to/trac/yourprj/ticket/2
         #3000 http://path/to/trac/yourprj/ticket/3000
         #4 http://path/to/trac/yourprj/ticket/4
Changed:
  A   hello
  A   world

BTSはTrac用に書いてみた。
複数のチケット、チェンジセットへのリンクを
メールに載せるようにしてある。

そうそう。設置方法は hookにあるpost-commit.tmplを参考に

#!/bin/sh

REPOS="$1"
REV="$2"

"$REPOS"/hooks/svn-ci-mail.pl "$REPOS" $REV

こんな感じで



実用 Subversion 第2版実用 Subversion 第2版
(2009/07/27)
C. Michael Pilato、Ben Collins-Sussman 他

商品詳細を見る


入門Trac with Subversion―Linux/Windows対応入門Trac with Subversion―Linux/Windows対応
(2008/05)
高山 恭介

商品詳細を見る


Perl逆引きクイックリファレンス―Perl5.8対応Perl逆引きクイックリファレンス―Perl5.8対応
(2007/03)
坂田 健二

商品詳細を見る

Perlで簡易メモCGIを書いた

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

PerlCGIスクリプトで、超簡単なメモを作った。

スクリプトはいたって簡単で、
エディタはtextareaだし、cgiはファイルの読み書きだけで、
排他制御や履歴のような便利機能は一切つけてないので、 ほとんど何にもしてない。

mini-memo.jpg

スクリプトはgistに貼った。
https://gist.github.com/888228

CGIとか、HTML:TemplateのようなPerlモジュールを使う練習。
ちょこちょこ作って腕をあげなくてはっ。


Perl CPANモジュールガイドPerl CPANモジュールガイド
(2011/04/08)
冨田尚樹

商品詳細を見る

Perlプログラミング救命病棟 (Programmer’s foundations)Perlプログラミング救命病棟 (Programmer’s foundations)
(2005/09/06)
ピーター・J・スコット

商品詳細を見る

perlで簡単なCGIのアップローダを作った

  • このエントリーをはてなブックマークに追加
  • web拍手 by FC2

PerlCGIの簡単なアップローダを作った。
ローカルにちょっとファイル共有するのに便利かな。
というか、セキュリティとか考えてないので、ローカルでっ!!

機能は、ファイルのアップロード、削除、一覧表示がある。
アップロードはFileAPIを使ってるのでドラッグ&ドロップできるはず。
あと、注意点は、消したく無いファイルはサーバ側で chmod a-w しとくこと。

スクリプトはgistに置いた
git://gist.github.com/879507.git

設置方法は、httpでアクセスできる場所で、
ディレクトリ作って、mini-uploader.cgi 置いて、
.htaccess を設定ってとこ。

$ sudo su www-data
$ mkdir upload
$ cd upload
$ git clone git://gist.github.com/879507.git .    
Initialized empty Git repository in /home/xxx/public_html/upload/.git/
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (3/3), done.
$ chmod 544 mini-upload.cgi
$ cat > .htaccess
Options ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex mini-upload.cgi

これで準備完了。下はスクリーンショット。

mini-upload.jpg

参考サイト:
[を] 小さくてシンプルなアップローダー「ssuploader」Version 1.1公開
↑こちらの方が全然できがいいです(汗)。
ファイル一覧あたりのコードがかっこよかったのでパクりました(感謝)
Windows系対応やファイル名長制限も入れといた方がよかったな...


 | HOME |  »

Search

Recent Entries

Foot Print



Categories

Monthly

Recent Comments

Recent Trackbacks

Profile

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。