我有一些 c# 代码从网页获取图像,然后将其下载到我的本地计算机。这是在后台以 1/秒的速度完成的。如果我让这个运行正常,我的图片会正确更新。这些图片基本上是来自相机的馈送。我想将这些图片放入图片框或其他控件中,这样我就可以将图像显示为相机源。但是,当我尝试这样做时,我遇到错误说正在使用该图像,因此我无法将其加载到我的图片框中。有一个更好的方法吗?
谢谢,
byte[] lnBuffer;
byte[] lnFile;
HttpWebRequest lxRequest = (HttpWebRequest)WebRequest.Create(uri);
lxRequest.Credentials = credentials;
using (HttpWebResponse lxResponse = (HttpWebResponse)lxRequest.GetResponse())
{
using (BinaryReader lxBR = new BinaryReader(lxResponse.GetResponseStream()))
{
using (MemoryStream lxMS = new MemoryStream())
{
lnBuffer = lxBR.ReadBytes(1024);
while (lnBuffer.Length > 0)
{
lxMS.Write(lnBuffer, 0, lnBuffer.Length);
lnBuffer = lxBR.ReadBytes(1024);
}
lnFile = new byte[(int)lxMS.Length];
lxMS.Position = 0;
lxMS.Read(lnFile, 0, lnFile.Length);
lxMS.Close();
lxBR.Close();
}
}
lxResponse.Close();
}
using (System.IO.FileStream lxFS = new FileStream("images/camppic1.jpg", FileMode.Create))
{
lxFS.Write(lnFile, 0, lnFile.Length);
lxFS.Close();
}
这是我用来创建文件的。然后在此代码之后以相同的方法执行此操作:
image = Image.FromFile("C:\camppic1.jpg");
pictureBox23.Image = image;