在Windows照片查看器中打开图像

本文关键字:图像 Windows 照片 | 更新日期: 2023-09-27 18:03:36

如何从C#应用程序在Windows照片查看器中打开.jpg图像?

不是像这个代码一样在应用程序内部,

FileStream stream = new FileStream("test.png", FileMode.Open, FileAccess.Read);
pictureBox1.Image = Image.FromStream(stream);
stream.Close();

在Windows照片查看器中打开图像

我认为您可以使用:

Process.Start(@"C:'MyPicture.jpg");

这将使用与.jpg文件相关联的标准文件查看器,默认情况下是windows图片查看器。

在新的进程中启动它

Process photoViewer = new Process();
photoViewer.StartInfo.FileName = @"The photo viewer file path";
photoViewer.StartInfo.Arguments = @"Your image file path";
photoViewer.Start();

代码从ftp获取照片并在Windows照片查看器中显示照片。我希望它对你有用。

  public void ShowPhoto(String uri, String username, String password)
        {
            WebClient ftpClient = new WebClient();
            ftpClient.Credentials = new NetworkCredential(username,password);
            byte[] imageByte = ftpClient.DownloadData(uri);

            var tempFileName = Path.GetTempFileName();
            System.IO.File.WriteAllBytes(tempFileName, imageByte);
            string path = Environment.GetFolderPath(
                Environment.SpecialFolder.ProgramFiles);
            // create our startup process and argument
            var psi = new ProcessStartInfo(
                "rundll32.exe",
                String.Format(
                    "'"{0}{1}'", ImageView_Fullscreen {2}",
                    Environment.Is64BitOperatingSystem ?
                        path.Replace(" (x86)", "") :
                        path
                        ,
                    @"'Windows Photo Viewer'PhotoViewer.dll",
                    tempFileName)
                );
            psi.UseShellExecute = false;
            var viewer = Process.Start(psi);
            // cleanup when done...
            viewer.EnableRaisingEvents = true;
            viewer.Exited += (o, args) =>
            {
                File.Delete(tempFileName);
            };

        }

谨致问候。。。

public void ImageViewer(string path)
        {            
            Process.Start("explorer.exe",path);            
        }

Path是要预览的图像的文件路径。

我正在尝试其他答案,但它们都返回了相同的错误,即位置不是操作系统应用程序,所以我不确定问题出在哪里。然而,我发现了另一种打开文件的方法。

string Location_ToOpen = @"The full path to the file including the file name";
if (!File.Exists(Location_ToOpen))
{
   return;
}
string argument = "/open, '"" + Location_ToOpen + "'"";
System.Diagnostics.Process.Start("explorer.exe", argument);

它首先测试文件是否存在。如果它不存在,就会导致错误。

之后,它模拟一个";打开";在不打开文件资源管理器的情况下在文件资源管理程序上请求,然后系统使用默认应用程序打开文件。

我目前正在我的项目中使用这种方法,所以我希望它也适用于你。