首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Windows照片查看器中打开图像

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

Stack Overflow用户
提问于 2011-07-25 00:20:23
回答 5查看 46.6K关注 0票数 26

如何从C#应用程序在Windows Photo Viewer中打开.jpg图像?

而不是像这样在应用程序中,

代码语言:javascript
复制
FileStream stream = new FileStream("test.png", FileMode.Open, FileAccess.Read);
pictureBox1.Image = Image.FromStream(stream);
stream.Close();
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-07-25 00:24:01

在新的Process中启动它

代码语言:javascript
复制
Process photoViewer = new Process();
photoViewer.StartInfo.FileName = @"The photo viewer file path";
photoViewer.StartInfo.Arguments = @"Your image file path";
photoViewer.Start();
票数 19
EN

Stack Overflow用户

发布于 2011-07-25 00:26:24

我认为你可以直接使用:

代码语言:javascript
复制
Process.Start(@"C:\MyPicture.jpg");

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

票数 93
EN

Stack Overflow用户

发布于 2019-02-16 01:06:19

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

代码语言:javascript
复制
  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);
            };


        }

致以最良好的问候。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6808029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档