ワークステーションのWin32 APIのGDI StretchBlt関数が、への倍率補間を行う場合には、誰でも明確にすることができますか? 24/32ビットカラーイメージの場合、そうでない場合は、これを行うGDI(ではなく GDI +)関数がありますか?宛先矩形内の画素のブロックにソース矩形からすべてのスケーリングでStretchBlt HALFTONE == BILINEARですか?
HALFTONE マップピクセル:
SetStretchBltMode FNは、以下のように記載されて設定HALFTONEを有しています。デスティネーションブロックのピクセルの平均カラーは、ソースピクセルのカラーに近似しています。
私はreferences (see follow-up to first answer)を見てきましたが、画像を縮小するときに双線形補間を実行しますが、拡大すると何が起こるかの明確な答えはありません。
私は、Windows Mobile CE SDK does support a BILINEAR flagがハーフトーンのコメントと正反対に文書化されていることに気付きました(スケールアップの場合のみ)。
この質問の範囲では、GDI +(多くの補間オプションがあります)、OpenGL、DirectXなどを選択肢にするのは興味がないので、これらについてのフォローアップは気にしないでください他のAPIまたは別のイメージライブラリ。
私が実際に探しているのは、Win32(デスクトップ)GDIの動作のこの動作を明確に文書化している確定的なMS/MSDNまたはその他の高品質ドキュメントです。
一方、GDIとDirect2D(これを制御する明示的なフラグが付いています)を比較し、私の知見を掲載してみます。
ありがとうございます!
両方の機能を使用してビット深度の低いサーフェス、つまり1ビットサーフェスにレンダリングしようとするとどうなりますか? – SingleNegationElimination
私もそれを試してみます。 HALFTONEを使用したスケールアップについての私の最初のテストは、確かにピクセルを平均化しているようです。 – holtavolt
そして、同じテスト画像上でズームアップするとき、COLORONCOLORは予想される最近傍ピクセル化を明確に示します。 – holtavolt