Webページから画像を取得してローカルマシンにダウンロードする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;