gpt4 book ai didi

c++ - 使用 StretchDIBits 在 GDI+ 图形对象上绘制位图进行缩放

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:02 25 4
gpt4 key购买 nike

我正在使用 DrawImage 方法在图形对象上绘制位图图像,但是图像数量很多,因此绘制需要花费太多时间。我在这个论坛上读到,使用 StretchDIBits 可以减少绘图时间。 我通过调用 Drawimage 来缩放图像,但我想要任何其他有效的方法。我有一个位图 vector *,我想在图形上绘制每个位图。

HDC orghDC = graphics.GetHDC();
CDC *dc = CDC::FromHandle(orghDC);

m_vImgFrames 是包含 Bitmap* 的图像 vector 。我从 Bitmap* 中获取了 HBITMAP。

HBITMAP hBitmap;
m_vImgFrames[0]->GetHBITMAP(Color(255,0,0),&hBitmap);

我想使用这个 HBITMAP 在 orghDC 上绘图,最后在图形上绘图。所以我想知道如何使用 StretchDIBits 缩放位图并最终在图形对象上绘制。

我是这个论坛的新手。任何想法或代码都会有所帮助

最佳答案

为什么不直接使用 GDI+ API 来缩放位图,而不是使用 StretchDIBits?:

CRect rc( 0, 0, 20, 30 );

graphics.DrawImage( (Image*)m_vImgFrames[0],
rc.left, rc.top, rc.Width(), rc.Height() );

关于c++ - 使用 StretchDIBits 在 GDI+ 图形对象上绘制位图进行缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/961685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com