連続投稿申し訳ないです。
掲題のとおりCImageを利用しようと思っているのですが、
使ってみたところ縮小描画で色が壊れる現象が発生しています。
CImage source;
CImage dest;
if(source.Load(m_sourceFile) != S_OK || !dest.Create(m_w, m_h, 24)){
return;
}
HDC hdc = dest.GetDC();
source.Draw(hdc, 0, 0, m_w, m_h);
dest.ReleaseDC();
source.Destroy();
dest.Save(m_fileName);
dest.Destroy();
return;
…と、至って単純なソースなのですが、m_w、m_hがオリジナルサイズより小さくなると、色が壊れてしまいます。
オリジナルサイズと同一、又はそれ以上だと、ちゃんとコピーできるのですが…
ソースにはデジカメで撮影した1600*1200の24bit jpegを、現在は400*300の24bitBMPファイルとして出力しています。(最終的にjpegで保存します)
解決方法をご存知の方がいらっしゃいましたら、よろしくお願い致します。
#クラスに頼るなって事でしょうかね^^;
SetStretchBltModeでHALFTONE指定をすればいいとおもいます。
あら・・・簡単ですね。
出来ました。
ありがとうございます〜
ツイート | ![]() |