Масштабирование не происходит над ранее увеличенным экземпляром - PullRequest
0 голосов
/ 07 мая 2019

Сначала он увеличивает исходное изображение, но при повторном увеличении увеличивает исходное изображение, а не предыдущее увеличенное изображение.

В коде scaleX scaleY - движения мыши (по значению mouseMove-lButtonDown), m_d3dxSpritePos - позиция, из которой рисуется спрайт,

void CSpriteImage::ZoomImage(float scaleX, float scaleY)
{
    scaleImage.x += scaleImage.x* scaleX/TEXTURE_SIZE;
    scaleImage.y += scaleImage.y* scaleY /TEXTURE_SIZE;
    SetZoomFactor(scaleImage.x,scaleImage.y);
    m_d3dxSpritePos.x = (((TEXTURE_SIZE - (m_pstImageDisplayBuffer->uiWidth *m_fZoomFactor))/2.0f) / m_fZoomFactor);
    m_d3dxSpritePos.y = (((TEXTURE_SIZE - (m_pstImageDisplayBuffer->uiHeight * m_fZoomFactor))/2.0f) / m_fZoomFactor);
}

Может кто-нибудь сказать мне, как позиция спрайта может принять во внимание предыдущую увеличенную позицию спрайта.

...