[[DLL/PICTURE0]] *pngviewをPICTURE0に取り込む作戦 -(By [[あっきぃ]] @ 2005-03-16) -[[OSASK:7183]]より、かりんさんがpngビューアをリリースしました。 -picture0に取り込まれればベンリでしょう!と思うあっきぃがircでみんなの手を借りつつ(ぅ…)挑戦中。 -おいらを待っていたらOSASK6.5ぐらいになっても出来ないと思うので、出来る人が先に作ってくれたほうがいいかも…。 **メモ -1回完全リセット。 ***picture0についていろいろ JPEGの例(ほぼ[[DLL/PICTURE0]]からパクっているが、気にしない。) int info_JPEG(struct DLL_STRPICENV *env, int *info, int size, UCHAR *fp); -struct DLL_STRPICENV *env: デコードの際に自由に使える空間(?)ただし、最初の32バイトは規定が決まっている。 --env->error: エラーコード (1byte)~ env->errorp: エラーコードを起こしたファンクションへのポインタ(?byte)~ ※残り24バイトは未定 -int *info: のとおり、32バイトのワークエリアへのポインタ(→envの最初の32バイトをさしてる?)。ここに解析結果が入る。 --info[0]:画像ファイルタイプコード --info[1]:カラーや各種フラグ --info[2]:xsize --info[3]:ysize --info[4-7]:画像ファイルによって形式が違う領域 -int size: ファイルサイズ -UCHAR *fp: ファイルがマッピングされているアドレス int decode0_JPEG(struct DLL_STRPICENV *env, int size, UCHAR *fp, int b_type, UCHAR *buf, int skip); -struct DLL_STRPICENV *env, int size, UCHAR *fp: info_JPEGと同じだろう。 -int b_type:謎 -UCHAR *buf:謎 -int skip:謎 int decode0_JPEGpart(struct DLL_STRPICENV *env, int xsz, int ysz, int x0, int y0, int size, UCHAR *fp, int b_type, UCHAR *buf, int skip); -とりあえず部分デコードは、ノーマルデコードができるようになってからやる。 **Downloads -[[picture0ソース for tolset08:http://www2.hideyosi.com/~akkie/picture0/picture0-for-tolset08.sar]] --picture0のソースの最新版([[I.Tak.]]さんのホームページにあったもの)をtolset08向けに直したものです。 --ついでに、jpeg.cのWarningをいくつか消しています(gosakakuのWarningはよくわかりませんでした)。 --makeの前に、z_toolsのcom_mak.txtに次の設定を追加してください(nasmのあるディレクトリを各自指定すること)。 %.obj : %.nasm c:/cygwin/bin/nasm -o $@ -fwin32 $< -l lst.$< -icondec@picture0 --icoファイルデコーダをpicture0に取り込んでいる途中ファイル。picture0ソース for tolset08に上書きして使います。 --まだ未完成なのでうまく表示できません。bufにどうやって入れるかが鍵? #ref(ico.zip) *コメント欄 #comment