2

我想调整图像大小。所以目前我这样做:

SetStretchBltMode(hCompatibleDC, HALFTONE); 
StretchBlt(hCompatibleDC, 0, 0, Des_w, Des_h, mhDesktopDC, 0, 0, src_w, src_h, SRCCOPY);

但这非常慢。

根据我的测试,BitBlt 比 StretchBlt 快 x75。我需要 BitBlt/StretchBlt 从 CompatibleDC 获取位数组。

我想尝试使用 BitBlt 而不是 StretchBlt(用于获取 RGB 24 位数组)并发送到我自己的函数来调整大小。

现在说正经的,我不具备编写比 StretchBlt 更快且质量与 HALFTONE 相同的函数的知识。

也许甚至需要 ASM - 我不知道。我正在用 C++ (visual studio) 编写,所以我想知道您是否可以提供帮助。谢谢!

4

0 回答 0