【问题标题】:How to view a binary photo using the Windows photo viewer如何使用 Windows 照片查看器查看二进制照片
【发布时间】:2021-01-04 16:45:23
【问题描述】:

我需要制作临时文件,然后使用 Windows 默认照片查看器应用程序打开它,但我不知道如何;任何人都可以帮助我吗? 我知道我可以在 Form 中使用 PictureBox,但我希望我的应用能够使用 Windows 照片查看器。

int  GridID = Convert.ToInt32(dg_ImageList.CurrentRow.Cells[0].Value);
var query = objDB.Tbl_Image.Find(GridID).Image;
temp file =Image.FromStream(new MemoryStream(query));
Process.Start();

【问题讨论】:

  • Get a temp file name 并将图像的扩展名添加到文件名中,然后在文件中添加save the bytes,然后将文件名传递给Process.Start
  • 如果你在我的机器上这样做,你就会打开 PhotoShop。如果您真的想启动 Windows 照片查看器,您必须显式地 启动它。这里有一些注释:Process.Start a file without Extension 与 Windows Photo Viewer 相关(嗯,正是那篇文章的一部分)。你必须启动rundll32.exe,传递小程序的完整路径加上它的命令行选项和要打开的文件的路径。然后,您将确定 Windows 照片查看器已运行。 -- 我会考虑在您设计的 GUI 中呈现图像。

标签: c# winforms


【解决方案1】:

这是我的做法:

Private Sub OpenImage(objBinaryImage As Binary)
    Dim ms As New MemoryStream
    ms.Write(objBinaryImage.ToArray(), 0, objBinaryImage.Length)
    Dim objImage As Image = Image.FromStream(ms)
    Dim strSavePath As String = Path.GetTempPath & "Image.png"
    objImage.Save(strSavePath)
    Process.Start(strSavePath)
End Sub

将您的二进制图像传递给此方法。该图像将保存到您计算机上的用户临时文件夹中,并将在默认的 windows 图像查看器中打开该图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2017-08-18
    • 2011-08-18
    • 1970-01-01
    • 2016-04-04
    • 2023-02-01
    • 1970-01-01
    相关资源
    最近更新 更多