반응형
웹서버에 구축되어있는 이미지를 불러와서 표시하는 방법에 대하여 알아보겠습니다. WebClient를 사용해서 URL이미지를 표시해보도록 하겠습니다. Webclient를 사용하기위해서는 System.Net를 추가해야합니다. 웹에서 다운받은 파일을 복사하기 위해 MemoryStream을 사용하기위해 System.IO도 추가합니다. 먼저 URL의 데이터를 다운받기위해서 DownloadData메소드를 이용해서 해당데이터를 바이트배열로 다운 받습니다.
1
2
3
|
byte[] imgArray;
imgArray = client.DownloadData(url);
|
다운받은 데이터를 이미지형태로 변환합니다.
1
2
3
4
5
|
using (MemoryStream memstr = new MemoryStream(imgArray))
{
Image img = Image.FromStream(memstr);
return img;
}
|
전체소스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
// NameSpace추가
using System.Net; //WebClient
using System.IO; //MemoryStream
namespace WindowsFormsApp11
{
public partial class Form1 : Form
{
string _url = "http://localhost/shareimage/wolf-3818343_1920.jpg";
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.pictureBox1.Image = GetUrlImage(_url);
this.pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
/// <summary>
/// URL주소이미지를 이미지로 변환하기
/// </summary>
/// <param name="url"></param>
/// <returns></returns>
private Image GetUrlImage(string url)
{
using (WebClient client = new WebClient())
{
byte[] imgArray;
imgArray = client.DownloadData(url);
using (MemoryStream memstr = new MemoryStream(imgArray))
{
Image img = Image.FromStream(memstr);
return img;
}
}
}
}
}
|
웹서버를 구축 및 가상디렉토리설정하여 이미지파일을 다운로드구축하는 방법에 대해서는 아래 포스팅내용을 참고하시기 바랍니다.
'프로그래밍 > C#' 카테고리의 다른 글
[C#] 프로그램상에서 크롬브라우저 실행방법 (0) | 2021.01.26 |
---|---|
[C#] ini파일 사용법 (0) | 2020.11.19 |
[C#] FileSystemWatcher 폴더/파일변경관련 감시 (0) | 2020.10.24 |
[C#] 비밀번호(패스워드) 암호화 SHA256알고리즘 (0) | 2020.10.03 |
[C#] 시리얼통신(RS232) 방법 (0) | 2020.09.17 |