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)
{
}
}
答案 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);
}
}