PNGファイルを作るには


NAZCA  2003-04-01 12:38:30  No: 51232  IP: [192.*.*.*]

質問の内容ですが、BMPからPNGファイルを作成しようと
したのですが、IDATチャンクの圧縮アルゴリズムがわかり
ません、よろしければご教授ください。おねがいいたします
言語はCでよろしくお願いいたします。
なお、ライブラリ群は使わないで行おうとしています。

編集 削除
YuO  2003-04-01 19:51:17  No: 51233  IP: [192.*.*.*]

まず,何がわからないのかをはっきりさせてください。
すべてを掲示板に書くことは,どう考えても現実的ではありません。

編集 削除
NAZCA  2003-04-01 20:37:40  No: 51234  IP: [192.*.*.*]

話がまとまっていなかったようですみません。

PNGファイルを作成したい
          ↓
PNGファイルの中にはIDATチャンクがあります
          ↓
IDATチャンクのメインのデータをパレットを使用する
          ↓
データを『圧縮』し書き出す

ということをしたいのです。
しかし、『圧縮』する場合のアルゴリズム(Deflate/Inflate圧縮)
というらしいのですが、そのプログラムがわかりません。
どうか、ご教授のほどよろしくお願いいたします。

編集 削除
YuO  2003-04-01 23:49:13  No: 51235  IP: [192.*.*.*]

ちょこっとGoogleで検索。
http://www.coara.or.jp/~tkuri/SRC/

まぁ,RFC読んで作れないのであれば真っ当にlibpngなどを使うべきかと。

編集 削除
NAZCA  2003-04-02 01:22:50  No: 51236  IP: [192.*.*.*]

やはり、ライブラリは使いたくないです。
しかし、かといってアルゴリズムがわからないのも悔しいです
もう少し、わかりやすい(日本語^^)で説明願えませんか?
よろしくお願いいたします

編集 削除
ブタゴリラ  2003-04-02 08:34:16  No: 51237  IP: [192.*.*.*]

さっきから聞いていれば、わがまま言いたい放題ですねー。
英語がいやなら、プログラムを打つな!と思うのは私だけでしょうか?

せっかく丁寧にも検索までかけて教えてもらってるのに・・・。
(教えてもらえるだけでありがたいと思うべきです)

まず、圧縮そのものを一から勉強しなさい。
それからでないと、話にもなりません。

編集 削除
いぷ  2003-04-02 13:21:34  No: 51238  IP: [192.*.*.*]

プログラマやってるなら英語はほぼ(新しい技術に触れるのならなおさら)必須です。
今からでも慣れておいたほうがいいでしょう。
中学英語程度の知識と辞書で、意外となんとかなります。

編集 削除
YuO  2003-04-02 16:23:06  No: 51239  IP: [192.*.*.*]

だいたい,ライブラリを使いたくない理由は何でしょうか。

英語が読めないなどと言って仕様に当たらない人が,
一般的なライブラリよりまともなコードが書けるわけがありません。
書いたところで,遅い上に穴がボコボコ空いた使い物にならないものができるだけでしょう。

編集 削除
NAZCA  2003-04-02 16:53:51  No: 51240  IP: [192.*.*.*]

> だいたい,ライブラリを使いたくない理由は何でしょうか。
コーディングしてて、悔しいと思ったことがない人が言える言葉ですね。
もういいです、わからないなら分からないと仰っていただければほかを当たりましたのに。

編集 削除
瀬戸っぷ  2003-04-02 17:51:14  No: 51241  IP: [192.*.*.*]

翻訳が途中までの様ですが、翻訳された仕様書検索で見つかります。
http://tech.millto.net/~pngnews/kndh/PngSpec/pngindex.htm
PNG使ったコトないですし、解説・説明してくれと言われても無理ですが…

もう見ていないかも知れませんが、マルチポストは嫌われますのでご注意下さい。

http://www.sm.rim.or.jp/~shishido/scripts/qbbs/qbbs.cgi?dir=dib&no=168&title=PNG画像作成について

編集 削除
ブタゴリラ  2003-04-02 21:01:38  No: 51242  IP: [192.*.*.*]

>コーディングしてて、悔しいと思ったことがない人が言える言葉ですね。
>わからないなら分からないと仰っていただければほかを当たりましたのに。

私から言えば、あなたのような人が何処で質問しようが、帰ってくる答えは
一緒だと思います。
プログラマとして、そして、マナーを学んでから一から出直して下さい。


PNGの圧縮って言っても、アルゴ一つで圧縮されているわけではないので・・・。
親切に教えて下さった人達にページを教えて下さった人に
大変失礼な行為ですねー。

なんか無性に腹立つから、一部だけ解説します。

基本は、32KBの辞書をもったLZ77アルゴリズムです。
LZ77って何?って思ったら、
間違いなく圧縮の勉強を一からやった方がいいと思います。
後、静的、カスタムハフマン符号、CRCチェックもついてます。
この辺の解説は、何処にでも載ってます。

編集 削除
NAZCA  2003-04-02 21:39:12  No: 51243  IP: [192.*.*.*]

「瀬戸っぷ」さま、瀬戸っぷさま、頼もしい説明ありがとうございます
そして、瀬戸っぷさまだけには誤らさせていただきたく思います、前回
の発言や多々の失態お許しください。
ここまで、お優しく怒っていただける方はなかなかおりません、そこで
もう一度リアルの方で様々な方面に向け、聞きましたところ、また、調
べましたところ、順調な成長ができましたことをとても嬉しく楽しく、
そして、感謝の気持ちでいっぱいです。
もういちど、瀬戸っぷさまに誤らさせていただきます。すみませんでし
た。
それと、頭脳の顕著なことを魅せられました。よろしければバーチャル
の中だけではなくリアルでも怒っていただきたいです。
================================
もう一度質問いたします。瀬戸っぷさま、お許しください。
PNG中のIDAT部はどのような方法で構造化されているのでしょうか?
度重なるご質問、偏屈な私に対して説明をしていただけることを、望み
ます。では、よろしくお願いいたします

編集 削除
瀬戸っぷ  2003-04-02 23:53:36  No: 51244  IP: [192.*.*.*]

ええと…
なにか指名されていますが、PNG自体扱ったことがないので全く不明です。
ブタゴリラさんもレスしていますがLZ77すら私は使ったことがありません(^_^;)
アルゴリズム辞典を見ながらCRCチェックを組んでみたコトがあるだけなので、
残念ながらこれ以上はアドバイスのしようがありません。

編集 削除
けみ  2003-04-03 02:36:13  No: 51245  IP: [192.*.*.*]

pngについては全然わかりませんが、googleで検索してみました。

http://www.google.co.jp/search?q=cache:9ndivgptFskC:homepage2.nifty.com/sophia0/png.html+IDAT+PNG&hl=ja&lr=lang_ja&ie=UTF-8

はどうでしょう。
NAZCAさんのおっしゃる
IDAT PNG
で検索してみたのですけど。。おそらく期待していたサンプル
プログラムではないかもしれませんが。。


#以下は読み飛ばしてください。

>もう少し、わかりやすい(日本語^^)で説明願えませんか?

>コーディングしてて、悔しいと思ったことがない人が言える言葉ですね。

このあたりから何かが矛盾していませんか?


>「瀬戸っぷ」さま、瀬戸っぷさま、頼もしい説明ありがとうございます
>そして、瀬戸っぷさまだけには誤らさせていただきたく思います、前回
>の発言や多々の失態お許しください。

売り言葉に買い..なのでしょうが、もう少し言葉を選んだほうが
よろしいかと。。

編集 削除
Loreley  2003-04-03 05:03:11  No: 51246  IP: [192.*.*.*]

>コーディングしてて、悔しいと思ったことがない人が言える言葉ですね。

悔しいと思ったら自分で勉強しませんかね。
つーかYuOさんが検索してくれたRFCをみても、
そんな文量掲示板かけると思ってるんでしょうかね?

>YuOさん
横槍ですけどそのページ参考になりました、
ありがとうございます。(^^)

編集 削除
NAZCA  2003-04-03 07:36:53  No: 51247  IP: [192.*.*.*]

やっぱり、つかえないですねぇ
YuOさまの見つけていただいたページが一番わかりやすいです
ありがとうございます

編集 削除
#JJEQL)$=Q"OMJWKQL  2003-04-03 22:44:27  No: 51248  IP: [192.*.*.*]

)Q=~ VJKIOWEQED()"$HJ!*++-/ a9sd4a5sdass fdsaed
awe4445243572-*-rf+8/a+-3 rv/+*314ar+84*+r/a*+-er* 1
a/r4-31+/ 1*tg/3*+r/1aw3+-14/-t3e+-1c4/4-23/r3+-

編集 削除