我想调整图像大小。所以目前我这样做:
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) 编写,所以我想知道您是否可以提供帮助。谢谢!