c++ gdi图像数组
Posted
技术标签:
【中文标题】c++ gdi图像数组【英文标题】:c++ gdi image array 【发布时间】:2010-08-31 04:54:25 【问题描述】:我正在尝试制作一组图像
Image something(L"something.png");
而不是那个
Image something[2];
something[0]=(L"something.png");
任何想法
【问题讨论】:
【参考方案1】:通过指针使用Gdiplus图像和位图对象要容易得多。
考虑使用指针数组。如果您不想在完成后显式记住释放数组,则可以使用智能指针。在下面的代码示例中,我使用了 CAutoPtr。
#include <Windows.h>
#include <gdiplus.h>
#include <atlbase.h>
void HandleImages(HDC hdc)
typedef CAutoPtr<Gdiplus::Image> GdiplusImagePtr; // could be declared using CAutoPtr<Gdiplus::Bitmap>
GdiplusImagePtr something[2];
Gdiplus::Graphics g(hdc);
something[0].Attach(new Gdiplus::Bitmap(L"something.png"));
something[1].Attach(new Gdiplus::Bitmap(L"otherthing.png"));
for (int x = 0; x < ARRAYSIZE(something); x++)
g.DrawImage(something[x], 50*x, 0);
// CAutoPtr will call destructor for each item in something array
【讨论】:
以上是关于c++ gdi图像数组的主要内容,如果未能解决你的问题,请参考以下文章