修复图片缓存的访问错误
This commit is contained in:
parent
b825e17c6c
commit
a32e3431a6
|
|
@ -4,7 +4,7 @@
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
// 图片缓存
|
// 图片缓存
|
||||||
static map<tstring, CImage> s_mCImages;
|
static map<tstring, CImage*> s_mCImages;
|
||||||
// 从图片缓存中读取图片
|
// 从图片缓存中读取图片
|
||||||
static CImage* GetCImage(tstring name, bool fromRes = false);
|
static CImage* GetCImage(tstring name, bool fromRes = false);
|
||||||
// 对 PNG 图像进行像素转换
|
// 对 PNG 图像进行像素转换
|
||||||
|
|
@ -201,12 +201,13 @@ CImage* GetCImage(tstring name, bool fromRes)
|
||||||
{
|
{
|
||||||
if (s_mCImages.find(name) == s_mCImages.end())
|
if (s_mCImages.find(name) == s_mCImages.end())
|
||||||
{
|
{
|
||||||
CImage cImage;
|
CImage* cImage = nullptr;
|
||||||
// 加载图片
|
// 加载图片
|
||||||
if (fromRes)
|
if (fromRes)
|
||||||
{
|
{
|
||||||
|
cImage = new CImage();
|
||||||
// 从资源加载图片(不支持 PNG)
|
// 从资源加载图片(不支持 PNG)
|
||||||
cImage.LoadFromResource(GetModuleHandle(NULL), name.c_str());
|
cImage->LoadFromResource(GetModuleHandle(NULL), name.c_str());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -215,20 +216,21 @@ CImage* GetCImage(tstring name, bool fromRes)
|
||||||
{
|
{
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
cImage.Load(name.c_str());
|
cImage = new CImage();
|
||||||
|
cImage->Load(name.c_str());
|
||||||
}
|
}
|
||||||
// 加载失败
|
// 加载失败
|
||||||
if (cImage.IsNull())
|
if (!cImage || cImage->IsNull())
|
||||||
{
|
{
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
// 确认该图像包含 Alpha 通道
|
// 确认该图像包含 Alpha 通道
|
||||||
if (cImage.GetBPP() == 32)
|
if (cImage->GetBPP() == 32)
|
||||||
{
|
{
|
||||||
// 透明图片处理
|
// 透明图片处理
|
||||||
CrossImage(cImage);
|
CrossImage(*cImage);
|
||||||
}
|
}
|
||||||
s_mCImages.insert(map<tstring, CImage>::value_type(name, cImage));
|
s_mCImages.insert(map<tstring, CImage*>::value_type(name, cImage));
|
||||||
}
|
}
|
||||||
return &s_mCImages.at(name);
|
return s_mCImages.at(name);
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue