gpt4 book ai didi

c# - 在 Image 中仅显示图像文件的特定部分

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:02 27 4
gpt4 key购买 nike

我希望能够让一个 Image 对象只渲染图像的一部分,我将通过编程来控制它。例如,这是我目前所拥有的:

enter image description here

<Image Grid.Column="1" Grid.Row="1" Grid.RowSpan="3" Height="160" 
HorizontalAlignment="Right" Name="avatarImage" Stretch="None"
VerticalAlignment="Center" Width="160"
Source="/Crystal%20Cloud;component/data/images/characters.png"
Margin="0,0,40,0" />

我只想一次渲染其中一个角色,然后使用按钮更改它渲染的角色。我可以这样做吗?如果可以,怎么做?

最佳答案

您绝对可以使用 ImageBrush.Transform 来提取您感兴趣的位图部分,如果您不需要非常高的帧速率,那也是可行的方法。

但是,如果您需要优化帧速率,则可以从 sprite 表中动态提取各个位图并缓存这些位图并根据需要显示它们。下面的博客文章提供了一些代码,您可以使用这些代码来提取各个位图,然后可以缓存这些位图。

http://taylorza.blogspot.com/2009/08/silverlight-spritesheet-management-with.html

请记住,此处性能的关键是缓存位图,而不必在每次需要新图像时都经历提取它们的所有麻烦。

关于c# - 在 Image 中仅显示图像文件的特定部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6590995/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com