2007/04/23(月) [n年前の日記]
#1 [iappli] hsに実行バイナリとソースを送った
v0.0.2。PlaettedImage および Palette 関連でバグがある・意図した色になってないけど。他の仕様はほとんど入った、と思うので一旦送った。まだ調整は必要だろうけど。
4月末にはマスター提出という話だったから、2週間ぐらい前にはバグチェックできる状態のバイナリがないと、てな感じに思ってたので先週 0.0.1 を送っておいたのだけど。特に連絡もなく。うーむ。もっとも、正式なプロジェクト番号もまだ来てないし。サウンドデータも届いてないのでサウンド関係のバグチェックができないからアレではあるのだけど。
4月末にはマスター提出という話だったから、2週間ぐらい前にはバグチェックできる状態のバイナリがないと、てな感じに思ってたので先週 0.0.1 を送っておいたのだけど。特に連絡もなく。うーむ。もっとも、正式なプロジェクト番号もまだ来てないし。サウンドデータも届いてないのでサウンド関係のバグチェックができないからアレではあるのだけど。
[ ツッコむ ]
#2 [iappli] Palette の使い方がさっぱりわからん。
エミュレータ上では意図通りの表示になってるように見えるのだが。実機で動かすと変な色になる。うーん。
エミュレータ上でのトレース情報。
P902iS上でのトレース情報。
値の関連性がまったく見えてこない。機種依存の値を返すのであろうか。となると、ロードした画像のパレットを読んで、計算で変化させて、なんて処理は無理ということに…。
ドキュメントには、getEntry() で取得した値は、Graphics.getColorOfRGB(r, g, b) の返す値と同じ値が入ってる、とある。それを信じて、RGB値を別途持って自前で作成し直すことにしてみたり。
gif画像からパレット値を取得してテキスト出力する perlスクリプトを作成。ActivePerl 5.8.8 build 820 + ImageMagick 6.3.3 Q8 (PerlMagick) で。
_getpalette.pl
_出力結果。 これをJavaソースの中にコピペして使った。
P902iS で、ロードした画像から読んだパレット値と、Graphics.getColorOfRGB() の返り値を、トレース情報で出してみたり。左が、画像から読んだ値。右が、Graphics.getColorOfRGB() の返り値。
む。一番最後のパレット値の場所は、透過色指定されたソレの場所だな。そこだけは通常と異なる値を返す、ということなのか。考えてみれば、透過色なんだから入ってるRGB値はどうでもいいのだな。単に「ここが透過色である」ことを示す値さえ入ってれば、動作上の問題はないのかもしれん。
さておき。パレット値データをプログラム中に含めてしまったことで、プログラム容量が結構増えてしまった。残り 381byteしかない…。今現在、解決策として思いつくのは、以下のとおり。
エミュレータ上でのトレース情報。
PALIMG:0 EntryCount:16 ff000000 ff00f2ff ff05cbff ff251dee ff241ded ff241ced ff736783 ff8810e6 ffd8d6d4 ff2ab3ce ff317da6 ff1e90f6 ff33516b ff242e44 ff272fa7 ffffffff
P902iS上でのトレース情報。
PALIMG:0 EntryCount:16 0 ff80 fe40 e8e4 e8e4 e8e4 832e e091 d6bb cd85 a3e6 f483 6a86 4164 a164 20
値の関連性がまったく見えてこない。機種依存の値を返すのであろうか。となると、ロードした画像のパレットを読んで、計算で変化させて、なんて処理は無理ということに…。
ドキュメントには、getEntry() で取得した値は、Graphics.getColorOfRGB(r, g, b) の返す値と同じ値が入ってる、とある。それを信じて、RGB値を別途持って自前で作成し直すことにしてみたり。
gif画像からパレット値を取得してテキスト出力する perlスクリプトを作成。ActivePerl 5.8.8 build 820 + ImageMagick 6.3.3 Q8 (PerlMagick) で。
_getpalette.pl
_出力結果。 これをJavaソースの中にコピペして使った。
P902iS で、ロードした画像から読んだパレット値と、Graphics.getColorOfRGB() の返り値を、トレース情報で出してみたり。左が、画像から読んだ値。右が、Graphics.getColorOfRGB() の返り値。
PALIMG:0 EntryCount:16 0:0 ff80:ff80 fe40:fe40 e8e4:e8e4 e8e4:e8e4 e8e4:e8e4 832e:832e e091:e091 d6bb:d6bb cd85:cd85 a3e6:a3e6 f483:f483 6a86:6a86 4164:4164 a164:a164 20:ffff PALIMG:1 EntryCount:16 ffff:ffff e924:e924 47a:47a 47a:47a 1082:1082 2b4:2b4 356:356 126e:126e 3f8:3f8 2187:2187 4bb:4bb 59e:59e f681:f681 7ac6:7ac6 b555:b555 20:ffff PALIMG:2 EntryCount:16 ffff:ffff 0:0 f404:f404 f314:f314 (以下略)だいたいは合ってるみたいだけど。最後のパレット値だけが違う。何故。P902iSはドキュメント通りの実装状態じゃないということなのか。
む。一番最後のパレット値の場所は、透過色指定されたソレの場所だな。そこだけは通常と異なる値を返す、ということなのか。考えてみれば、透過色なんだから入ってるRGB値はどうでもいいのだな。単に「ここが透過色である」ことを示す値さえ入ってれば、動作上の問題はないのかもしれん。
さておき。パレット値データをプログラム中に含めてしまったことで、プログラム容量が結構増えてしまった。残り 381byteしかない…。今現在、解決策として思いつくのは、以下のとおり。
- 計算後のパレット値を持った画像を別に用意して、その画像のパレット値と差し替えるとか。
- 変化させたい画像の中に変更用のパレット値を余分に含めておくとか。
- スクラッチパッドにパレット値データを格納してしまうか。その場合、データの結合スクリプトを変更する必要が出てくるけれど。
◎ 2007/04/25追記: :
スクラッチパッドの中にgifがあるんだから、gifの中のパレット値格納場所を参照してRGB値を取り出せばいいんじゃないのか。ということに今頃気づいた。
[ ツッコむ ]
#3 [prog][perl] PerlMagick(ImageMagick)でゼロからgif画像を作るにはどうすればいいんだ
パレット値のみがある状態で、1x1とか4x4とか16x1とかそんな感じのgif画像を作りたいのだけど。何を $image->Set(hoge=>'piyo') すりゃいいのやら。
#!/usr/bin/perl use strict; use Image::Magick; my $image; $image = Image::Magick->new; $image->Set(size=>'16x16'); $image->Set(geometry=>'16x16+0+0'); $image->Set(colorspace=>'RGB'); $image->ReadImage('xc:black'); $image->Set(background=>'#000000'); for ( my $i = 0; $i < 256; $ i++ ) { my $s = sprintf("#%02x%02x%02x", $i, $i, $i); # print "$s\n"; $image->Set("colormap[$i]" => $s); my $x = $i % 16; my $y = int($i / 16); $image->Draw(primitive=>'point', points=>"$x,$y", fill=>$s); } $image->Set(class=>'Pseudo'); $image->Set(type=>'Palette'); $image->Set(depth=>'8'); $image->Set(colors=>'256'); $image->Set(format=>'gif'); $image->Set(magick=>'gif'); for ( my $i = 0; $i < 256; $ i++ ) { # my $s = sprintf("#%02x%02x%02x", $i, $i, $i); my $s = sprintf("rgb(%d,%d,%d)", $i, $i, $i); $image->Set("colormap[$i]" => $s); my $x = $i % 16; my $y = int($i / 16); # $image->Set("index[$x,$y]" => "$i"); } my $x = $image->Write('output/output.gif'); warn "$x" if "$x"; undef $image; exit;これじゃダメなのだった。どうすりゃいいんだ。
[ ツッコむ ]
#4 [anime] BLUE DRAGON とやらを鑑賞。影が気になる
影がモンスターになって戦うのか。変わった設定だな。JoJoみたい。と思ったが。途中で気づいた。コレってカゲスターか! 温故知新な企画かもしれん。
考えてみると、JoJoのスタンドもカゲスターに似てると言えば似てるような気がしてきました。カゲスター以前にはそういう設定は無かったのだろうか。
影が探偵の助手をする漫画とかあったような気もする。アレとカゲスターとどっちが早いんだろう。
そういや、影法師、なんて言葉もあったな。意外と発想はそのへんから来てたりするのかしら。根拠無いけど。…そもそも影法師ってのは何だ。どうして「法師」なんだ。何かエピソードでもあるのか。
考えてみると、JoJoのスタンドもカゲスターに似てると言えば似てるような気がしてきました。カゲスター以前にはそういう設定は無かったのだろうか。
影が探偵の助手をする漫画とかあったような気もする。アレとカゲスターとどっちが早いんだろう。
そういや、影法師、なんて言葉もあったな。意外と発想はそのへんから来てたりするのかしら。根拠無いけど。…そもそも影法師ってのは何だ。どうして「法師」なんだ。何かエピソードでもあるのか。
[ ツッコむ ]
#5 [anime] のだめアニメ版3話を鑑賞
テンポ悪いなぁ。東北人の中でも輪をかけて無駄にノンビリしてる自分ですらそう思うということはよっぽどのマズさなのではないかと懸念してしまうのでありますが。例えば、間髪入れずに台詞を被せることで笑いが取れるであろう場面で何故にわずかな間を空けてしまうんだろうと。わざとやってるのか? 不勉強なだけか? 自分以上にどうしようもなく果てしなくのんびりした人がコンテ・演出なのか? …判らんなぁ。
作画がどうとか脚本がどうとかいうレイヤーではなくて、コンテ・演出がアレな映像ってのは…。うーん。これからエンジンかかってくるのか。それともずっとこのままなのか。うーん。
作画がどうとか脚本がどうとかいうレイヤーではなくて、コンテ・演出がアレな映像ってのは…。うーん。これからエンジンかかってくるのか。それともずっとこのままなのか。うーん。
[ ツッコむ ]
#6 [neta][anime] どろろの逆のヒーローってのはどうか
どろろは敵を倒すたびに人間の体を取り戻して弱くなっていくらしいけど。その逆はどうか。少しずつパワードスーツのパーツを集めていくのです。最初は手だけゲット。次に足をゲット。ベルトをゲット。胸当てをゲット。強い敵を倒すたびにゲットして、少しずつ強くなる。パーツとパーツを組み合わせて戦ったりも可能。バラして単体で組むとロボットに。途中でほとんどのパーツを奪われて手だけ残りますが、主人公:「なあに。最初はここから始まったもんだ。そうだよな、相棒」 手:「ガッテンだ!」みたいな。玩具売り場には、手だけとか、足だけとか、顔だけとかが並びます。デラックスセットは全身パーツ入り。
前にも書いた気がするな。コレ。
顔だけの設定は、既にどこかで見たような気がする。
前にも書いた気がするな。コレ。
顔だけの設定は、既にどこかで見たような気がする。
[ ツッコむ ]
#7 [pc][nitijyou] MSからOfficeアップデートの振込用紙が届いた
電話口で聞いたとおり、本当に、申込みから1ヶ月以上かかったわ…。そんなに申し込んだ人が多いのか。つまりはそれだけ顧客に対して有効に働く販売キャンペーン、ってことなんだろうな。
[ ツッコむ ]
#8 [jiji] TVをつけてたら「元ニートが須賀川市議会議員に当選した」というニュースが流れてて
ビックリした。キャラ設定として完璧じゃないか。
現在32歳、だったかしら。会津大学第一期卒業生なれど就職活動に失敗してニート的な状態に、という話で。あの時期はとにかく就職難だったしなぁ。ウチの妹も就職決まらなかったし。
とりあえず、最初のうちはソース読みみたいなものだと思うので、あまり気張らないようにお願いしたいところ。何せ30歳台なんだし、周囲の爺ちゃんたちに教えを請いながらちょこちょこ問題提起するぐらいでちょうどいいような気も。
現在32歳、だったかしら。会津大学第一期卒業生なれど就職活動に失敗してニート的な状態に、という話で。あの時期はとにかく就職難だったしなぁ。ウチの妹も就職決まらなかったし。
とりあえず、最初のうちはソース読みみたいなものだと思うので、あまり気張らないようにお願いしたいところ。何せ30歳台なんだし、周囲の爺ちゃんたちに教えを請いながらちょこちょこ問題提起するぐらいでちょうどいいような気も。
[ ツッコむ ]
以上、1 日分です。