【问题标题】:Fit image to ShaderResourceView and preserve aspect ratio使图像适合 ShaderResourceView 并保持纵横比
【发布时间】:2015-04-07 13:18:42
【问题描述】:

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

ShaderResourceView.FromFile(_device, imagepath);

它将图像加载到背景中,但它会拉伸两个维度而不考虑纵横比。有没有办法将图像加载到背景中并保持纵横比?

【问题讨论】:

    标签: c# slimdx


    【解决方案1】:

    理想情况下,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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 1970-01-01
      • 2016-05-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多