我正在使用XNA框架在Kinect上创建一个应用程序。它会产生问题当我添加高分辨率图像时,它只显示屏幕上一半的图像或25%的图像,如果它是极高分辨率的图像,但如果我上传360X480尺寸的图像,它会给我完整的图像。
我正在46"全屏运行应用程序。电视。
请告诉我,如果我上传超过360X480分辨率的图像,为什么它不会显示完整的图像。
public Game1()
{
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferHeight = 1280;
graphics.PreferredBackBufferWidth = 720;
graphics.IsFullScreen = true;
修改
我正在使用以下代码加载和绘制图像。
defaultShirt= Content.Load<Texture2D>("kurta6");
currentShirt = defaultShirt;
spriteBatch.Draw(currentShirt, new Rectangle
(shirtXposition + x + 90, shirtYposition + y + 50, customShirtHeight + 160,
customShirtWidth + 140),
new Rectangle(0, 0, 480, 360),
Color.White, 0, origin, SpriteEffects.None, 1);
我也使用以下方法从数据库添加图像。
if (_image1Path[i] != "")
{
using (System.IO.FileStream stream = new System.IO.FileStream("D:/xampp/htdocs/boutique_cms/" + _image1Path[i], System.IO.FileMode.Open))
{
_image1Display[i] = Texture2D.FromStream(GraphicsDevice, stream);
currentImagePath = _image1Display[i];
}
}
由于
答案 0 :(得分:2)
如上所述,您将矩形切割为矩形(0,0,480,360) 你需要做的就是这样做。
这将绘制图像并将其缩放以适合下面指定的区域。
spriteBatch.Draw(currentShirt, new Rectangle
(shirtXposition + x + 90, shirtYposition + y + 50, customShirtHeight + 160,
customShirtWidth + 140), Color.White);
答案 1 :(得分:1)
您正在使用rectangle(0,0,480,360)
剪切图像。所以你实际上要说从vector2d(0,0)
到vector2d(480,360)
拍摄一张图像,请尝试这样:
spriteBatch.Draw(texture, new vector2d(x,y), color);