PNG和jpg图像未出现在C#应用程序中
我在应用程序中使用C#显示某些图像时遇到问题。我使用Image类指定位置,使用BitmapImage指定源。UriSource是相对的,我只指定名称。它适用于某些图像,但对于其他图像,该图像根本不显示。我的图像实例是35x35大,另一个是100x100大(像素) 有人知道为什么会发生这种情况,以及如何修复它吗 谢谢。 以下是我使用的代码:PNG和jpg图像未出现在C#应用程序中,c#,image,png,jpeg,C#,Image,Png,Jpeg,我在应用程序中使用C#显示某些图像时遇到问题。我使用Image类指定位置,使用BitmapImage指定源。UriSource是相对的,我只指定名称。它适用于某些图像,但对于其他图像,该图像根本不显示。我的图像实例是35x35大,另一个是100x100大(像素) 有人知道为什么会发生这种情况,以及如何修复它吗 谢谢。 以下是我使用的代码: Image removeImage = new Image(); removeImage.HorizontalAlignment = Hori
Image removeImage = new Image();
removeImage.HorizontalAlignment = HorizontalAlignment.Left;
removeImage.VerticalAlignment = VerticalAlignment.Top;
removeImage.Margin = new Thickness(490, 10, 0, 0);
removeImage.Width = 35;
removeImage.Height = 35;
BitmapImage source = new BitmapImage();
source.BeginInit();
source.UriSource = new Uri("delete.png", UriKind.RelativeOrAbsolute);
source.EndInit();
removeImage.Source = source;
removeImage.Stretch = Stretch.None;
removeImage.Visibility = Visibility.Visible;
removeImage.MouseDown += new MouseButtonEventHandler(removeImage_MouseDown);
不确定图像文件的位置。如果图像位于当前项目文件夹中,则必须设置“属性”窗口中图像文件的
Copy to Output Directory=Copy Always
属性。据我所知,诊断此类问题的最佳方法(假设快速同侪检查代码对您毫无帮助)是使用ProcessMonitor:
您可以使用此工具监视计算机上的所有文件活动(确保使用“包含/排除”过滤器来限制噪音)
图像没有显示的原因很可能是因为应用程序在错误的位置查找它们(或者它们没有被复制,或者相对路径关闭)
ProcessMonitor将记录Windows访问.jpg的每次尝试(无论是失败还是成功)。如果您在日志中搜索文件名,您应该会找到它,可能还有一条错误消息,以及Windows用来打开文件的完整路径
我看到的最常见的结果是
在所有这些情况下,ProcessMonitor将向您显示发生了什么。此外,要检测文件在运行时是否存在,您仍然可以使用
file.exists(path)
函数。请参阅:有.sln文件和一个文件夹。图像文件位于包含bin、obj和Properties文件夹的文件夹中。你能再解释一下那行代码吗?有什么东西我需要先导入吗?@Nibou-好的!我想您可能需要仔细检查图像文件的文件名和路径。如果可能的话,你可以发布代码(编辑你的帖子并添加一段代码)!!我只需要将图像添加到VisualStudio中的“解决方案资源管理器”窗口。谢谢