如何使用存储在变量中的路径在c#中绘制图像

时间:2014-11-21 18:28:43

标签: c# .net visual-studio-2012

private string path;

public string Path
{
    get { return path; }
    set { path = value; }
}

public override void Draw(Graphics.IGraphicsSurface g)
{
    //some code here
}

我需要将图像存储在我的文件系统上的path位置,并使用g函数在表面DrawImage()上绘制它。

编辑: 传递给DrawImage()的第一个参数必须是字符串
public void DrawImage(string image, float x, float y)
或文件流
public void DrawImage(Stream imageStream, float x, float y)

public void DrawImage(string image, float x, float y)
{
    try
    {
        if (File.Exists(image))
        {
            Stream stream = new FileStream(image, FileMode.Open);
            DrawImage(stream, new Graphics.Point(x, y));
        }
    }
    catch(Exception)
    {
    }
}

2 个答案:

答案 0 :(得分:3)

通常,您可以使用Image.FromFile(string)

var image = Image.FromFile(path);

g.DrawImage(image, 0, 0);

这将在点(0,0)处绘制图像。


但是,OP需要使用不同的DrawImage方法,该方法接收字符串。为此,我们可以简单地说:

g.DrawImage(path, 0, 0);

答案 1 :(得分:-1)

    private void pictureBox1_DoubleClick(object sender, EventArgs e)
    {
        OpenFileDialog dlg = new OpenFileDialog();
        if (dlg.ShowDialog()==DialogResult.OK)
        {
            pictureBox1.Image = Image.FromFile(dlg.FileName);
        }
    }