gpt4 book ai didi

c# - 从 WPF 中的 Image 标记修改图像

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

我有一个显示一堆图像的表单。我希望能够通过另一个可执行文件修改此图像,例如在我退出时绘制和刷新图像(例如通过按钮)。

当我尝试在 Paint 中保存图像时,它告诉我图像受到保护,这是由于表单以某种方式链接到图像。

有什么办法可以让它工作吗?知道如何绕过这个问题吗?

谢谢。

编辑:这是我使用的结构(大大简化)

        <ListView Style="{StaticResource BaseListView}" x:Name="LstMoulures" Grid.Column="0" Background="#00000000" SelectionMode="Single" IsTextSearchEnabled="False" ScrollViewer.VerticalScrollBarVisibility="Auto">
<ListView.ItemTemplate>
<DataTemplate>
<Border BorderBrush="White" Margin="1,1,1,1" BorderThickness="2,2,2,2" CornerRadius="4">
<StackPanel Orientation="Horizontal" Margin="5,0,0,5" Height="200">
<Image x:Name="ImgPicture" Width="220" Height="195" Margin="2,5,2,2" GotFocus="ImgPicture_GotFocus" MouseLeftButtonDown="ImgPicture_MouseLeftButtonDown" MouseEnter="ImgPicture_MouseEnter" MouseLeave="ImgPicture_MouseLeave">
<Image.Source>
<BitmapImage UriSource="{Binding DessinSource}" CacheOption="OnLoad" />
</Image.Source>
</Image>
</StackPanel>
</Border>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>

最佳答案

<Image>
<Image.Source>
<BitmapImage UriSource="test.jpg" CacheOption="OnLoad" />
</Image.Source>
</Image>

您还可以读取文件并将其重写为 MemoryStream 对象:

MemoryStream ms = new MemoryStream();
BitmapImage bi = new BitmapImage();

byte[] bytArray = File.ReadAllBytes(@"test.jpg");
ms.Write(bytArray, 0, bytArray.Length);
ms.Position = 0;
bi.BeginInit();
bi.StreamSource = ms;
bi.EndInit();
image.Source = bi;

要监控图像变化和刷新图像,您可以使用 FileSystemWatcher

关于c# - 从 WPF 中的 Image 标记修改图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6416703/

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