繁体   English   中英

使图像适合ShaderResourceView并保留宽高比

[英]Fit image to ShaderResourceView and preserve aspect ratio

我正在将图像加载到ShaderResourceView中以用作背景图像。 这是我目前正在使用的:

ShaderResourceView.FromFile(_device, imagepath);

它将图像加载到背景中,但不考虑纵横比而将两个维度拉伸。 有没有一种方法可以将图像加载到背景中并保持宽高比?

理想情况下,ShaderResourceView将提供一种设置来自动尊重图像外观,但是下面是第二个最佳选择。

SO上的现有帖子将图像调整为指定的大小,然后用空格填充任何多余的空间并创建一个新图像。 链接: https//stackoverflow.com/a/2001462/978622

另一篇文章介绍了如何轻松地从Image转换为bytearray,这是ShaderResourceView可以从其创建着色器的类型之一。 链接: https//stackoverflow.com/a/3801289/978622

我的代码将所有内容组合在一起:

var original = Image.FromFile(path);
Image resized = FixedSize(original, actualWidth, actualHeight);
var byteImage = ImageToByteArray(resized);
var srv = ShaderResourceView.FromMemory(_device, byteImage);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM