画像縮小

やっぱり人任せじゃだめってことね。

StretchBlt使用 面積平均法


とりあえず一番単純そうなやり方で実装してみたが、それでもこの明らかな差。これで十分普通に使えそうな品質。
擬似(固定)面積平均法? 50%固定と考えて、4ピクセルの平均から1ピクセル分を計算。カタログだとグレスケ前提なので輝度計算だけになって楽すぎる。50%(2:1)、33%(3:1)、25%(4:1)とか固定倍率に限定すればロジック展開できるし。


もっともStretchBltのアルゴリズムがひどすぎる(ニアレストネイバー法?)だけかもしれないが。ニアレストネイバー法とか格好よさげな名前だけど要するにドットを間引いてるだけ。


カタログのページデータ、libpngからは4bppだと言われるんだけど、無変換で出力させると確かに4bit単位にはなってるんだが、なぜか白が0x0Fじゃなくて0x07。3bppなのか? いちおう3bpグレスケとして扱って輝度換算で16bpp(15bpp)に変換するとまともに表示されるようになった。のだが何か釈然としない。