从图片框中显示图像?

时间:2014-04-17 09:15:10

标签: c# sql-server picturebox

我有C#项目。我添加了图片框控件来显示来自数据库的图像。

我有一个执行"select * from Client ";DataReader的DbComand来读取结果:

byte[] buffer = (byte[])dr[24]; 
if (buffer != null) 
{ 
    groupBox1.Visible = true; 
    MemoryStream ms = new MemoryStream(buffer); 
    pictureBox1.Image = Image.FromStream(ms); 
}

如何使用图片框中显示的图像打开Windows照片查看器...

3 个答案:

答案 0 :(得分:0)

您可以使用以下代码打开它:

Process.Start(@"C:\Picture.jpg");

答案 1 :(得分:0)

您可以将Picturebox中的图像保存到临时文件,并通过运行PhotoViewer dll显示该图像。可以使用Process类通过rundll32帮助程序完成。你的代码看起来像这样:

 // get a tempfilename and store the image
var tempFileName = Path.GetTempFileName();
pictureBox1.Image.Save(tempFileName, ImageFormat.Png);

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);
    };

有关如何从命令行启动Photoviewer的信息,请参阅this answer

答案 2 :(得分:-1)

如果您正在使用论坛应用程序,则可以使用工具箱添加图片框,如果您这样做,则会转到图片框的属性并按下属性中名称图像旁边的三个点。按本地资源,您就在自己的文档中。希望这有助于你