コンバータの公開及び、雑記を主としていきます
下の画像をイメマジで分割結合しました。
tomoyo05
2セルにしました。
tomoyo06

う~ん、これでいいのかな、
ちなみにスクリプトはこんな感じ、



use Image::Magick;
use File::Copy;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN00.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN001.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN00.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN002.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN001.png","g00\S_TT_BTN002.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN00.png");
undef $image;


my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN01.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN011.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN01.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN012.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN011.png","g00\S_TT_BTN012.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN01.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN02.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN021.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN02.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN022.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN021.png","g00\S_TT_BTN022.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN02.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN03.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN031.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN03.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN032.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN031.png","g00\S_TT_BTN032.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN03.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN04.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN041.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN04.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN042.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN041.png","g00\S_TT_BTN042.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN04.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN05.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN051.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN05.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN052.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN051.png","g00\S_TT_BTN052.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN05.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN10.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN101.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN10.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN102.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN101.png","g00\S_TT_BTN102.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN10.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN11.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN111.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN11.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN112.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN111.png","g00\S_TT_BTN112.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN11.png");
undef $image;
my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN12.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN121.png");
undef $image;

my $image = Image::Magick->new;
$image -> Read("g00\S_TT_BTN12.png");
$image -> Crop( x => 0 , y => 0 , width => 160 , height => 23 );
$image -> Write("g00\S_TT_BTN122.png");
undef $image;

my $image = Image::Magick->new;
$x= $image->Read("g00\S_TT_BTN121.png","g00\S_TT_BTN122.png");
warn "$x" if "$x";
$p = $image->Append(stack=>false);
warn "$x" if "$x";
$x = $p->Write("g00\S_TT_BTN12.png");
undef $image;

本当は5セルにしたかったのですが・・・・・
管理人の技術が足りませんでした(~_~)

まぁ、次は右クリックメニューの画像を作成したいです。
見たところ、三つぐらいのボタンが一つになっているので、かなり難しそう・・・。
諦めず頑張りま~す。
ではまた。
スポンサーサイト

【2009/10/28 21:57】 | PSP変換記事
トラックバック(0) |

No title
今宵の空
はじめまして

5セルなら下記の応用でいけると思いますよ。多分。
下記のは同じ大きさの14セル作成用です。
もっといい方法があると思いますが試してみてはどうでしょうか?

use Image::Magick;
use File::Copy;

#実行スクリプト?
syscat();


#処理スクリプト
sub syscat{

my $imagea = Image::Magick->new;

( -e "./image/wait2.png") or die; #imageは画像が入ってるフォルダ

$imagea->Read("./image/wait2.png");

my $tatea = $imagea->Get('base-rows');
my $yokoa = $imagea->Get('base-columns');

my $ichi = $imagea -> Clone();
# $yokoaは横幅、$tateaは縦幅、 /最大
$ichi -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 0 ,height => $tatea * 20 / 280 );

my $ni = $imagea -> Clone();
$ni -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 20 ,height => $tatea * 20 / 280 );

my $san = $imagea -> Clone();
$san -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 40 ,height => $tatea * 20 / 280 );

my $yon = $imagea -> Clone();
$yon -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 60 ,height => $tatea * 20 / 280 );

my $go = $imagea -> Clone();
$go -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 80 ,height => $tatea * 20 / 280 );

my $roku = $imagea -> Clone();
$roku -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 100 ,height => $tatea * 20 / 280 );

my $nana = $imagea -> Clone();
$nana -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 120 ,height => $tatea * 20 / 280 );

my $hachi = $imagea -> Clone();
$hachi -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 140 ,height => $tatea * 20 / 280 );

my $kyu = $imagea -> Clone();
$kyu -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 160 ,height => $tatea * 20 / 280 );

my $jyu = $imagea -> Clone();
$jyu -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 180 ,height => $tatea * 20 / 280 );

my $jyuichi = $imagea -> Clone();
$jyuichi -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 200 ,height => $tatea * 20 / 280 );

my $jyuni = $imagea -> Clone();
$jyuni -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 220 ,height => $tatea * 20 / 280 );

my $jyusan = $imagea -> Clone();
$jyusan -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 240 ,height => $tatea * 20 / 280 );

my $jyuyon = $imagea -> Clone();
$jyuyon -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 260 ,height => $tatea * 20 / 280 );

push ( @$ni,@$san,@$yon,@$go,@$roku,@$nana,@$hachi,@$kyu,@$jyu,@$jyuichi,@$jyuni,@$jyusan,@$jyuyon );
my $mapga = $ni -> Append(stack=>false);
$mapga -> Write("./image/icon_mda2.png");

undef $imagea;

}



No title
snake00
>今宵の空様
ありがとうございます。さっそく使ってみます。


コメントを閉じる▲
コメント
この記事へのコメント
No title
はじめまして

5セルなら下記の応用でいけると思いますよ。多分。
下記のは同じ大きさの14セル作成用です。
もっといい方法があると思いますが試してみてはどうでしょうか?

use Image::Magick;
use File::Copy;

#実行スクリプト?
syscat();


#処理スクリプト
sub syscat{

my $imagea = Image::Magick->new;

( -e "./image/wait2.png") or die; #imageは画像が入ってるフォルダ

$imagea->Read("./image/wait2.png");

my $tatea = $imagea->Get('base-rows');
my $yokoa = $imagea->Get('base-columns');

my $ichi = $imagea -> Clone();
# $yokoaは横幅、$tateaは縦幅、 /最大
$ichi -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 0 ,height => $tatea * 20 / 280 );

my $ni = $imagea -> Clone();
$ni -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 20 ,height => $tatea * 20 / 280 );

my $san = $imagea -> Clone();
$san -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 40 ,height => $tatea * 20 / 280 );

my $yon = $imagea -> Clone();
$yon -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 60 ,height => $tatea * 20 / 280 );

my $go = $imagea -> Clone();
$go -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 80 ,height => $tatea * 20 / 280 );

my $roku = $imagea -> Clone();
$roku -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 100 ,height => $tatea * 20 / 280 );

my $nana = $imagea -> Clone();
$nana -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 120 ,height => $tatea * 20 / 280 );

my $hachi = $imagea -> Clone();
$hachi -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 140 ,height => $tatea * 20 / 280 );

my $kyu = $imagea -> Clone();
$kyu -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 160 ,height => $tatea * 20 / 280 );

my $jyu = $imagea -> Clone();
$jyu -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 180 ,height => $tatea * 20 / 280 );

my $jyuichi = $imagea -> Clone();
$jyuichi -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 200 ,height => $tatea * 20 / 280 );

my $jyuni = $imagea -> Clone();
$jyuni -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 220 ,height => $tatea * 20 / 280 );

my $jyusan = $imagea -> Clone();
$jyusan -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 240 ,height => $tatea * 20 / 280 );

my $jyuyon = $imagea -> Clone();
$jyuyon -> Crop( x => 0 , width => $yokoa * 20 / 20 , y => 260 ,height => $tatea * 20 / 280 );

push ( @$ni,@$san,@$yon,@$go,@$roku,@$nana,@$hachi,@$kyu,@$jyu,@$jyuichi,@$jyuni,@$jyusan,@$jyuyon );
my $mapga = $ni -> Append(stack=>false);
$mapga -> Write("./image/icon_mda2.png");

undef $imagea;

}

2009/10/29(Thu) 00:25 | URL  | 今宵の空 #-[ 編集]
No title
>今宵の空様
ありがとうございます。さっそく使ってみます。
2009/10/30(Fri) 20:46 | URL  | snake00 #-[ 編集]
コメントを投稿
URL:

Pass:
秘密: 管理者にだけ表示を許可
 
トラックバック
この記事のトラックバックURL
この記事へのトラックバック