在旋转的图像上裁剪矩形

时间:2017-12-15 15:26:05

标签: c++ image graphics ogre

我有以下情况。右边的图片就是我的纹理......我可以访问它的像素。它的起源在左上角。左边的图像是预期的图像,但遗憾的是它不能旋转图像并修复它。

情况是:我从世界坐标获取屏幕坐标,我认为它是正确的。像往常一样屏幕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  );

0 个答案:

没有答案