Alchemy の samples/libpng を試してみました。
付属の README を見ると、libpng 1.2.32 と zlib 1.2.3 がいるのでダウンロードして make
するように書いてあります。
MT 環境をセットアップする時に MacPorts でインストール済みなのでこっちを使ってみることにしました。
gcc
する時に libpng と zlib のパスを指定するみたいなので MacPorts インストールフォルダ /opt/local/
へ変更しました。
また glue.c
が include
している libpng.h
のパスを変更しました。
// Old #include "png.h" // New #include "/opt/local/include/png.h" |
README, To build the SWC: を実行します。
cd YOUR_ALCHEMY_DIRECTORY/samples/libpng gluegen pngencode.gg -cpackage cmodule.pngencode -package alchemy.png -class Encode alc-on gcc glue.c -O3 -swc -o pngencode.swc -L/opt/local/include/libpng12 -lpng -L/opt/local/include/zlib.h -lz alc-off |
WARNING のあと正常終了しているようだけど、これでいいのかな?
WARNING: While resolving call to function 'main' arguments were dropped! 6854.achacks.swf, 275532 bytes written frame rate: 60 frame count: 1 69 : 4 72 : 275463 76 : 32 1 : 0 0 : 0 frame rate: 24 frame count: 1 69 : 4 77 : 506 64 : 31 63 : 16 65 : 4 9 : 3 41 : 26 82 : 471 1 : 0 0 : 0 adding: catalog.xml (deflated 75%) adding: library.swf (deflated 70%) |
pngencode.swc ができるのでこれをプロジェクトに読み込んで使うんだな。
FB4 Gumbo プロジェクトに pngencode.swc を読み込んでテストしてみようと思ったけど・・・
どう使うんだろう???
import cmodule.pngencode.CLibInit; //get library obejct var init:CLibInit = new CLibInit(); // initialize library exported class var lib:Object = init.init(); |
まではわかったけど・・・
添付の glue.as を見ても何のことだか……
update 2009-06-12
swc の中は xml, swf の2ファイルでした。
swf の中にライブラリがコンパイルされて入っているので処理が早くなる、のでしょうか?
ナゾナゾはまだとけません。
ピンバック: イナヅマtvログ » Alchemy, jpegencoder – 画面をキャプチャしてJPEGで保存