在图片框 c# 中将来自 HTTP 请求的响应转换为 PNG
Convert Response from HTTP request to PNG in a picturebox c#
我使用
向 Web 服务器发出请求
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
string result = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
并在 "result" 中返回以下格式 我如何将其更改为我可以在图片框中显示的 PNG?
aPic = "�PNG\r\n\u001a\n[=11=][=11=][=11=]\rIHDR[=11=][=11=][=11=][=11=][=11=][=11=]\b\u0006[=11=][=11=][=11=]W\u0002��[=11=][=11=][=11=]\u001dtEXtjira-system-image-type[=11=]avatar�\u0002\u001aa[=11=][=11=]\u0010�IDATx��Y�W�Y�����>s�Lw�S3�5eL[=11=]\u0001�EY\u0015YeM\u0002a\rdO\bd\u000f!\u0010�}S\u0016\u00196q-\u0005�\u0005\u0010\u0005�...
我正在使用 .Net 4.0,这是一个 winforms 应用程序。
非常感谢。
将数据下载为字节数组并将其转换为图像并将其放入图片框:
using (var webClient = new WebClient())
{
using (var stream = webClient.OpenRead("http://1.2.3.4/image.png"))
{
pictureBox1.Image = new Bitmap(stream);
}
}
PNG 是一种以 PNG 压缩格式保存的位图图像,因此您需要查看位图而不是 PNG,如果您查看位图 class 那么您会发现它有一个构造函数接受流(参见 MSDN)
这就是一个很好的例子
private void InitializeStreamBitmap()
{
try
{
System.Net.WebRequest request =
System.Net.WebRequest.Create(
"http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif");
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream responseStream =
response.GetResponseStream();
Bitmap bitmap2 = new Bitmap(responseStream);
PictureBox1.Image = bitmap2;
}
catch(System.Net.WebException)
{
MessageBox.Show("There was an error opening the image file."
+ "Check the URL");
}
}
我使用
向 Web 服务器发出请求HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
string result = string.Empty;
using (StreamReader reader = new StreamReader(response.GetResponseStream()))
{
result = reader.ReadToEnd();
}
并在 "result" 中返回以下格式 我如何将其更改为我可以在图片框中显示的 PNG?
aPic = "�PNG\r\n\u001a\n[=11=][=11=][=11=]\rIHDR[=11=][=11=][=11=][=11=][=11=][=11=]\b\u0006[=11=][=11=][=11=]W\u0002��[=11=][=11=][=11=]\u001dtEXtjira-system-image-type[=11=]avatar�\u0002\u001aa[=11=][=11=]\u0010�IDATx��Y�W�Y�����>s�Lw�S3�5eL[=11=]\u0001�EY\u0015YeM\u0002a\rdO\bd\u000f!\u0010�}S\u0016\u00196q-\u0005�\u0005\u0010\u0005�...
我正在使用 .Net 4.0,这是一个 winforms 应用程序。
非常感谢。
将数据下载为字节数组并将其转换为图像并将其放入图片框:
using (var webClient = new WebClient())
{
using (var stream = webClient.OpenRead("http://1.2.3.4/image.png"))
{
pictureBox1.Image = new Bitmap(stream);
}
}
PNG 是一种以 PNG 压缩格式保存的位图图像,因此您需要查看位图而不是 PNG,如果您查看位图 class 那么您会发现它有一个构造函数接受流(参见 MSDN)
这就是一个很好的例子
private void InitializeStreamBitmap()
{
try
{
System.Net.WebRequest request =
System.Net.WebRequest.Create(
"http://www.microsoft.com//h/en-us/r/ms_masthead_ltr.gif");
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream responseStream =
response.GetResponseStream();
Bitmap bitmap2 = new Bitmap(responseStream);
PictureBox1.Image = bitmap2;
}
catch(System.Net.WebException)
{
MessageBox.Show("There was an error opening the image file."
+ "Check the URL");
}
}