修复了Image裁剪图片范围越界导致图片不显示的bug

This commit is contained in:
Nomango 2017-10-06 01:39:57 +08:00
parent 6bd05e60b9
commit 8e2b5e1f33
1 changed files with 2 additions and 2 deletions

View File

@ -116,8 +116,8 @@ bool Image::setImageFromRes(LPCTSTR pResName, int x, int y, int width, int heigh
void Image::crop(int x, int y, int width, int height) void Image::crop(int x, int y, int width, int height)
{ {
width = min(max(width, 0), m_pCImage->GetWidth()); width = min(max(width, 0), m_pCImage->GetWidth() - x);
height = min(max(height, 0), m_pCImage->GetHeight()); height = min(max(height, 0), m_pCImage->GetHeight() - y);
// 设置源矩形的位置和大小(用于裁剪) // 设置源矩形的位置和大小(用于裁剪)
m_SrcRect.SetRect(x, y, x + width, y + height); m_SrcRect.SetRect(x, y, x + width, y + height);
// 设置目标矩形(即绘制到窗口的位置和大小) // 设置目标矩形(即绘制到窗口的位置和大小)