- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在使用 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/
我想在 32 位位图(或 Bitmap32)上传输 32 位图像(带 alpha channel 的 PNG)。 我不知道如何告诉函数混合图像而不是 bliting 它。就像使用 AlphaBlend
我正在使用 StretchDIBits 打印图像,但当图像由于某种未知原因处于特定尺寸时打印失败。 图像数据以 24 位 BGR 格式从其他一些图像源加载到一个无符号整数数组中。我已经验证图像和缓冲区
我正在使用 Win32Api,我正在寻找一种将 BGR(或 RGB、BGRA、RGBA...)数据加载到窗口的方法。 从左下角开始向上编织,就像这一段。 逐渐向下直到右下角结束,StretchDIBi
我正在使用 gdi c++,如果我绘制大图像(例如 7000*5000),StretchDIBits 函数有时会失败。它什么也没画。 GetLastError() 表示系统资源不足。任何人都可以解释为
玩 MFC,似乎在绘制 PixelFormat8bppIndexed 时出错了。 示例 PixelFormat8bppIndexed: 使用其他格式一切正常。 我认为问题出在: (*pBitmapIn
我想在 HDC 上绘制一个相同大小的 dib。我在用 :des 和 src 大小相同。 ::StretchDIBits(hdc, des.left,des.top
我正在使用 DrawImage 方法在图形对象上绘制位图图像,但是图像数量很多,因此绘制需要花费太多时间。我在这个论坛上读到,使用 StretchDIBits 可以减少绘图时间。 我通过调用 Draw
我的应用程序是在 Delphi 6 中开发的。由于后台处理和大量数据(消耗大约 60MB - 120MB 物理内存),这是一个资源密集型应用程序。该应用程序的功能之一是在进行某些处理后创建条形码图像。
我的应用程序是在 Delphi 6 中开发的。由于后台处理和大量数据(消耗大约 60MB - 120MB 物理内存),这是一个资源密集型应用程序。该应用程序的功能之一是创建条形码图像并打印它们。如果用
(这与 How would I load a PNG image using Win32/GDI (no GDI+ if possible)? 上的问题有关。) 大家好 我想知道,假设您有一个嵌入 I
我是一名优秀的程序员,十分优秀!