電線の画像

Pointgets.net

写真やサンプルプログラムなど、日々の気になった出来事をメモしてる個人的なブログです。

切り抜いた画像にテキストを合成した画像をPerlモジュールのImage::Magickで生成

PerlモジュールのImage::Magickを使用して、切り抜いた画像にテキストを合成した画像を出力しました。

Sample Image Photo

サンプル画像です。(OLYMPUS E-PL3+LUMIX G 20/F1.7)

#!/opt/local/bin/perl
 
use strict;
use warnings;
use Image::Magick;
 
my $image = Image::Magick -> new;
$image -> Read("sample.jpg");
$image -> Crop(
	width => 300,
	height => 300,
	x => 150,
	y => 75
);
my ($width,$height) = $image -> Get("width","height");
$image -> Set(page => $width."x".$height."+0+0");
$image -> Annotate(
	antialias => "true",
	fill => "White",
	font => "Georgia.ttf",
	gravity => "Center",
	pointsize => 70,
	stroke => "None",
	strokewidth => 0,
	text => "Image\nMagick",
	undercolor => "None",
	x => 0,
	y => 0
);
 
print "Content-type: image/jpeg\n\n";
binmode STDOUT;
$image -> Write("jpeg:-");
undef $image;
 
exit;

サンプルコードです。切り抜いた画像サイズを取得して、保持されている元の画像サイズに切り抜いた画像サイズを上書きして再設定します。

Crop Set Annotate JPEG

出力結果です。

スポンサードリンク
スポンサードリンク