2011-01-02 16 views
1

私はGDI +にPNGを読み込み(最近隣の)スケールアップして保存しましたが、残念ながらインデックス付きPNGを読み込むと32ビットPNGとして保存されますが、これは大きな無駄です。インデックス付きPNGをスケールアップしてASP.NETで保存するにはどうすればよいですか?

PNGをロード/保存できるサードパーティ製の優れたツールがいくつか見受けられましたが、残念ながら、ホストが中程度の信頼を使用していて、これらのツールがCOM DLLを読み込むので、

私はPngBitmapEncoder(私は.net 4を実行しています)のようなWPFライブラリを使っているのですが、PNGのスケーリングされたコピーを作成するときにインデックス設定を保持していません。私は最近のネイバーネイバースケーリングの使い方を知ることができました(これはGDI +で動作するようになりました)。

私はねじ込まれていますか?バイトをひとつずつ読み始める時間は?笑。私は確かにそのような背景を持っていないので、私は望んでいない。どんな助けでも大歓迎です。

答えて

0

Image :: Saveメソッドを使用してPNGを保存していると仮定します。 - どのように正確にあなたが保存を呼ぶのです。このように: - この場合はPNGエンコーダ

CLSID pngClsid; 
    GetEncoderClsid(L"image/png", &pngClsid); 
    image.Save(L"Mosaic2.png", &pngClsid, NULL); 

(NULL上記の例で)3番目のパラメータはエンコーダに固有のパラメータを指定します。

PNGエンコーダでサポートされているパラメータを確認しましたか?たぶんcolorDepthを指定することができます。

エンコーダのパラメータを取得:

関連する問題