These pages are written by only Japanese.
|
Namazu for hns による簡易全文検索です。 詳細は 詳細指定/ヘルプをご参照下さい。 |
|||||||||||||||||||||||||||||||||||||||||||||
GifFileType *GifFileIn, *GifFileOut; GifFileIn = DGifOpen(...); GifFileOut = EGifOpen(...); <データ入力 → GifFileIn の画像データを GifGileOut にコピー →データ出力> DGifCloseFile(GifFileIn); EGifCloseFile(GifFileOut);仮に、Open と Close が共通であれば 必要な部分だけデータを書き換えるだけですが、 ↑これらを見ると、カラーマップとかピクセルとか Extension ブロック 等を明示的に一つ一つコピーする処理をかいてるので、手間をかけないとダメそう。
while ((DGifGetRecordType(&GifFile, &RecordType)) && (RecordType != TERMINATE_RECORD_TYPE)) { switch(RecordType) { case SCREEN_DESC_RECORD_TYPE: DGifGetScreenDesc(&GifFile); break; case IMAGE_DESC_RECORD_TYPE: DGifGetImageDesc(&GifFile); break; case EXTENSION_RECORD_TYPE: DGifGetExtension(&GifFile, &GifExtCode, &GifExtension); while ((GifExtension != NULL) && (DGifGetExtensionNext(&GifFile, &GifExtension) == GIF_ERROR)) ; break; default: break; }こんな感じ。
DGifSlurp(&GifFile);出力(Encode)は
EGifSpew(&GifFile);どちらもその関数の中で順次読み出し/書き出しをしてるだけです。
% ./a.out 6 8 gcd(6, 8) => 2 lcm(6, 8) => 24ふと、ユークリッドの互助法を思い出し google の検索で以下のページを発見。 なるほど。余りを使ってもよいですね。 これで多分、OK
582 DGifCloseFile(GifFileType * GifFile) { <略> 600 if (GifFile->Image.ColorMap) { 601 FreeMapObject(GifFile->Image.ColorMap); 602 GifFile->Image.ColorMap = NULL; 603 } 604 605 if (GifFile->SColorMap) { 606 FreeMapObject(GifFile->SColorMap); 607 GifFile->SColorMap = NULL; 608 }多分、正しくは↓このはず。
for ( i = 0 ; i < GifFile->ImageCount ; i++ ) { GifImageDesc *ImageDesc = & GifFile->SavedImages[i].ImageDesc; if (ImageDesc->ColorMap) { FreeMapObject(ImageDesc->ColorMap); ImageDesc->ColorMap = NULL; } } if (GifFile->SColorMap) { FreeMapObject(GifFile->SColorMap); GifFile->SColorMap = NULL; }でも、何か勘違いしてるのかなぁ…
git clone git://github.com/yoya/php-skype.git適当にいじって動かすのは簡単ですが、 commit を意識するなら真面目にいじらないとです。
$x_axis = $world->createObject('cube', array(128, 4, 4)); $x_axis->setColor(new Image_3D_Color(255, 100, 100)); $x_axis->transform($world->createMatrix('Move', array(64, 0, 0))); $y_axis = $world->createObject('cube', array(4, 128, 4)); $y_axis->setColor(new Image_3D_Color(100, 255, 100)); $y_axis->transform($world->createMatrix('Move', array(0, 64, 0))); $z_axis = $world->createObject('cube', array(4, 4, 128)); $z_axis->setColor(new Image_3D_Color(100, 100, 255)); $z_axis->transform($world->createMatrix('Move', array(0, 0, 64)));うーん。とりあえず軸を書いてみたのですが、使うのめんどいし、 スケールが把握できないです。。(64 の値は探って見つけた値。。)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 31651 yoya 16 0 782m 652m 3164 R 0.7 65.2 194:34.40 skypeえーっと… メモリ1G で 65% 食ってるのって、幾らなんでも太りすぎ。(´Д`;)
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 25343 yoya 15 0 80376 33m 11m S 1.0 3.3 0:02.03 skypeとりあえず、原因を切り分ける為に Skype bot を止めました。
90 :水先案名無い人 :2008/09/25(木) 16:41:54 ID:32KaDK9t0 ガイドライン来て判ったこと。 さんざん馬鹿にしておきながら 原作を超えてない点…確かにある意味才能だよね。 共感は出来ないけど。^^;
% php colordist.php chara-298.GIF > chara-298.PNG
[2008/09/27:12:06:31 +0900] dor18184.kaist.ac.kr "20020627-2-S1" "" "Mozilla/5.0 (compatible; MJ12bot/v1.2.2; http://www.majestic12.co.uk/bot.php?+)"サーバが貧弱なうちとしては困るので、ブロックする設定を入れました。
どうも去年の10月ぐらいから、ウイルスによって拡大するニセモノのMJ12botが 跋扈しているようで ^^;; ちなみにホンモノのボットの最新版はv1.2.1らしいです。 majestic12のなかのひともたいへんですね。よくよく調べてみると、ホンモノの MJ12bot (v1.2.1でした)もときどきアクセスにきているようです。そっちは大変 お行儀がよく、4, 5ページクロールしたらすぐいなくなってるようでした。なるほど?
ただし今回の実装は排他制御を行っていないのでそのままでは使えませんが…。アプリケーション全体でのデータ共有が目的なので、 そのレベルのロック処理を自分で入れて使って下さい。
パフォーマンスは悪くないのでオブジェクトに限らず画像やテキストなど キャッシュさせれば負荷を軽減させるのに役立つのではないでしょうか。 slashdotやmixiも使っているようですし。この文章の前には、 MySQL やファイルI/O との比較が載ってますし、 「...に限らず...画像やテキストなど...ようですし」という流れなので、 「slashdot や mixi も memcached を使っているようですし」であって、 PHP クラスのインスタンスとして使っているとは言ってないはず。
ExtensionBlockCount=1 Function=0xf9 ByteCount=4 Bytes: 01 00 00 00 Graphic Control Transparent=0 (= #ffffff) Dispose=0↑こんな感じで表示されます。 こちらにも反映済み。
* [GIF]GIF画像の色分布表示 ↑1文字空白検索パターン (窓に表示されるので分かりやすい)
*[GIF]なるほど…
*[GIF]GIF画像の色分布表示編集して気づいたけど * と [ の間の空白は表示にも影響するのね。 どのみち詰めた方が良いみたい。