我有以下情况。右边的图片就是我的纹理......我可以访问它的像素。它的起源在左上角。左边的图像是预期的图像,但遗憾的是它不能旋转图像并修复它。
情况是:我从世界坐标获取屏幕坐标,我认为它是正确的。像往常一样屏幕coordiantes它的左上角0,0 x正面,y正面向下 现在我想基于屏幕坐标裁剪图像.Ogre框引发异常,意味着框不正确。
在那种情况下,我如何修复数学和代码? enter image description here
int min_x = 0;
int min_y = 0;
int max_x = 0;
int max_y = 0;
float screenPositionX =512 - screenPosition.x;
float screenPositionY =1024 - screenPosition.y;
min_x = std::max( 0, (int) screenPositionX );
min_y = std::max( 0, (int) screenPositionY );
max_x = std::min( (int)512, (int) screenPositionX + radius );
max_y = std::min( (int)1024, (int) screenPositionY + radius );
// Get the pixelbox within the radius.
Ogre::Box regionBox( (int)screenPositionX, (int)screenPositionY, 512, 1024 );