본문 바로가기

VB.NET

[TIPS] PitcureBox 에 간단하게 이미지를 표시하는 방법

반응형

여기에서는, PictureBox의 Image 프로퍼티를 사용하고, 픽쳐 박스에 이미지를 표시하는 방법을 소개합니다 

PictureBox.Image 프로퍼티를 사용한다.
픽쳐 박스에 이미지를 표시시키는 제일 간단한 방법은, PictureBox의 Image 프로퍼티에 표시하는 이미지를 지정하는 것입니다.
다음의 예에서는 이 방법에 의해, 픽쳐 박스 PictureBox1에 이미지 파일"C:\test.jpg"를 표시합니다.

 

PictureBox1.Image = System.Drawing.Image.FromFile("C:\test.jpg")

 

 

 

이미지의 배치 방법을 지정한다
PictureBox.Image 프로퍼티로 표시하는 이미지의 배치 방법을 지정하려면 , PictureBox.SizeMode 프로퍼티를 사용합니다. SizeMode 프로퍼티로 지정할 수 있는 PictureBoxSizeMode 구조체의 멤버를 이하에 나타냅니다. 아무것도 지정하지 않으면 Normal이 됩니다.

 

 PictureBoxSizeMode의 멤버 설명

 설명

 Normal

 이미지를 PictureBox의 왼쪽에 표시한다.

 이미지의 크기는 기본크기

 StretchImage

 PictureBox의 크기 가득 이미지가 표시되도록(듯이), 이미지를 확대 또는 축소해 표시한다. 

 AutoSize

 PictureBox의 크기를 이미지의 크기와 같게 표시한다.

 CenterImage

 이미지를 PictureBox의 중앙에 표시한다.

 이미지의 크기는 기본크기

 Zoom

 PictureBox의 크기에 맞추어 이미지를 확대 또는 축소해 표시한다. StretchImage와 달리, 이미지의 사이즈 비율은 보관 유지한다. 이미지는 PictureBox의 중앙에 표시된다.

.NET Framework 2.0 이후에 유효.

 

 

다음의 예에서는, 이미지 파일"C:\test.jpg"를 PictureBox1의 크기에 맞추어 표시시키도록 하고 있습니다.

 

'이미지의 크기를 PictureBox에 맞춘다
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
'이미지를 표시한다
PictureBox1.Image = System.Drawing.Image.FromFile("C:\test.jpg")

 

 

아래의 마이크로소프트 문서에서도 많은 정보를 얻을수 있으니 참고하세요.

https://docs.microsoft.com/ko-kr/dotnet/api/system.windows.forms.picturebox?view=netcore-3.1/?WT.mc_idexi=DT-MVP-4039890


 

. NET Framework 2.0이후로, 지정한 장소의 이미지를 표시한다

. NET Framework 2.0에서는, PictureBox.ImageLocation 프로퍼티를 사용하고, 지정한 URI의 이미지를 PictureBox에 표시할 수 있습니다. 이 방법이 Image 프로퍼티에 의한 방법보다 간단합니다.
ImageLocation 프로퍼티로 읽어들인 이미지는, Image 프로퍼티로 설정됩니다.

따라서, PictureBox.SizeMode 프로퍼티로 지정된 이미지의 배치 방법이 적용됩니다.
이하에 이미지 파일"C: \test.bmp"를 표시하는 예를 나타냅니다. ImageLocation에"C: \test.bmp"와 같은 패스를 지정해도 괜찮습니다만, 아래의 예처럼,"file: ///"(으)로 하는 방법이 추천 되고 있습니다.

 

'PictureBox1에"C: \test.bmp"를 표시한다
PictureBox1.ImageLocation = "file: ///C:/test.bmp"

 

 

 

PictureBox.Image 프로퍼티를 사용해 표시한 이미지를 삭제하는방법

PictureBox.Image 프로퍼티를 사용해 표시한 이미지를 삭제하려면 , Image 프로퍼티에 Nothing을 설정하면 됩니다.

If Not (PictureBox1.Image Is Nothing) Then
    PictureBox1.Image.Dispose()
    PictureBox1.Image = Nothing
End If

 

 

BackgroundImage 프로퍼티를 사용한다

이미지를 표시하는 목적으로 사용하는 것은 적당하지는 않습니다만, Control.BackgroundImage 프로퍼티에 의해 이미지를 표시할 수도 있습니다. 이 경우는 통상 이미지가 보통레벨로 표시됩니다.
. NET Framework 2.0에서는 Control.BackgroundImageLayout 프로퍼티에 의해 배경 이미지의 배치법을 변경할 수 있습니다. BackgroundImageLayout 프로퍼티로 지정할 수 있는 ImageLayout 열거체의 멤버를 이하에 나타냅니다.

 

 ImageLayout 열거체의 멤버

 설명

 Tile

 이미지를 전체에 늘여서 표시한다.

 None

 이미지를 컨트롤의 왼쪽상단에 표시한다.

 Center

 이미지를 컨트롤의 중앙에 표시한다.

 Stretch

 이미지를 컨트롤의 크기에 맞추어 늘여서 표시한다.

 Zoom

 이미지를 컨트롤의 크기에 맞추어 신축해 표시한다. StretchImage와 다르게 이미지의 사이즈 비율은 보관 유지한다. 위치는, 컨트롤의 중앙

 

BackgroundImageLayout을 Zoom로 해 배경 이미지를 설정하는 예를 아래에 나타냅니다.

 

PictureBox1.BackgroundImageLayout = ImageLayout.Zoom
PictureBox1.BackgroundImage = System.Drawing.Image.FromFile("C:\testjpg")


반응형