12 이미지(Picture)

Estimated reading: 2 minutes 24 views

이 문서에서는 AutoHotkey v2의 Picture 컨트롤 생성 및 제어에 대해 학습합니다. 초보부터 고급 사용자까지 다양한 수준의 예제를 통해 Picture 컨트롤 추가, 이미지 표시, 동적 제어, 이벤트 처리 등의 고급 기능을 다룹니다.

  • 초급: 기본 Picture 컨트롤 생성, 이미지 크기 조정 및 경로 설정 방법을 학습합니다.
  • 중급: 동적 이미지 변경, 이미지 투명화, 동적 Picture 추가를 학습합니다.
  • 고급: 조건에 따른 이미지 제어, 이미지 다운로드 및 파일 기반 이미지 로드 등의 고급 기능을 학습합니다.

초급 (기본 사용법)

목표: 기본적인 Picture 컨트롤 생성 및 이미지 경로 설정, 크기 조정 방법을 학습합니다.

기본 Picture 컨트롤 생성

기본 Picture 컨트롤을 생성하여 이미지를 표시합니다.

MyGui := Gui()
MyGui.Add(Picture, w200 h150, example.jpg)
MyGui.Show(w300 h300)

설명

  • MyGui.Add(“Picture”, “w200 h150”, “example.jpg”): 너비 200px, 높이 150px의 example.jpg 이미지를 표시합니다.
  • example.jpg는 실행 파일과 같은 디렉터리에 있어야 하며, 절대 경로도 사용할 수 있습니다.

Picture 크기 및 위치 조정

Picture 컨트롤의 위치와 크기를 설정합니다.

MyGui := Gui()
MyGui.Add(Picture, x20 y20 w150 h150, example.jpg)
MyGui.Show(w300 h300)

설명

  • x20 y20: X=20, Y=20 좌표에 Picture 컨트롤을 배치합니다.
  • w150 h150: 너비 150px, 높이 150px로 컨트롤 크기를 설정합니다.

Picture의 경로 절대 경로로 설정

Picture 컨트롤의 경로를 절대 경로로 설정합니다.

MyGui := Gui()
MyGui.Add(Picture, w200 h150, C:\Images\example.jpg)
MyGui.Show(w300 h300)

설명

  • C:\Images\example.jpg: 절대 경로로 이미지를 불러옵니다.

중급 (Picture 컨트롤 동적 생성 및 제어)

목표: Picture 컨트롤의 동적 생성, 이미지 변경, 투명한 이미지 적용 등을 학습합니다.

Picture 이미지 동적 변경

버튼 클릭으로 Picture의 이미지를 동적으로 변경합니다.

MyGui := Gui()
MyPicture := MyGui.Add(Picture, w200 h150, example1.jpg)
MyGui.Add(Button, gChangeImage, 이미지 변경)
MyGui.Show(w300 h300)

ChangeImage() {
    MyPicture.Value := example2.jpg
}

설명

  • MyPicture.Value := “example2.jpg”: 현재 Picture에 표시된 이미지를 example2.jpg로 변경합니다.

투명한 배경의 Picture 생성

배경이 투명한 Picture 컨트롤을 생성합니다.

MyGui := Gui()
MyGui.Add(Picture, BackgroundTrans, example.png)
MyGui.Show(w300 h300)

설명

  • BackgroundTrans: Picture의 배경을 투명하게 설정합니다.
  • example.png: 투명한 배경을 적용하려면 투명 배경이 포함된 PNG 파일을 사용하는 것이 좋습니다.

버튼 클릭으로 동적 Picture 추가

버튼 클릭으로 동적 Picture 컨트롤을 추가합니다.

MyGui := Gui()
MyGui.Add(Button, gAddNewPicture, 이미지 추가)
MyGui.Show(w400 h400)

AddNewPicture() {
    Static PictureCount := 1
    PictureCount++
    MyGui.Add(Picture, x20 y (40 + PictureCount * 100)  w200 h150, example PictureCount .jpg)
    MyGui.Show()
}

설명

  • Static PictureCount: 버튼 클릭할 때마다 Picture의 개수를 증가시킵니다.
  • MyGui.Add(“Picture”): 동적으로 새로운 Picture를 추가합니다.

고급 (Picture 컨트롤 고급 제어 및 이벤트 추가)

목표: Picture 컨트롤의 상태를 동적으로 제어하고, 조건에 따라 이미지 파일을 로드하거나 변경하는 작업을 수행합니다.

조건에 따른 Picture 이미지 변경

조건에 따라 Picture 컨트롤의 이미지를 변경합니다.

MyGui := Gui()
MyPicture := MyGui.Add(Picture, w200 h150, example1.jpg)
MyGui.Add(Button, gChangeImage, 조건에 따라 이미지 변경)
MyGui.Show(w300 h300)

ChangeImage() {
    CurrentTime := A_Hour
    If (CurrentTime 

설명

  • If (CurrentTime < 12): 현재 시간이 12시 이전이면 morning.jpg 이미지를 표시합니다.
  • MyPicture.Value: Picture의 이미지를 동적으로 변경합니다.

이미지를 파일에서 불러와서 Picture에 표시

파일에서 이미지를 동적으로 불러옵니다.

MyGui := Gui()
FileSelectFile, SelectedFile,,,이미지 파일을 선택하세요, 이미지 파일 (*.jpg; *.png)
If (SelectedFile) {
    MyGui.Add(Picture, w200 h150, SelectedFile)
}
MyGui.Show(w300 h300)

설명

  • FileSelectFile: 사용자가 선택한 파일 경로를 가져옵니다.
  • MyGui.Add(“Picture”, “w200 h150”, SelectedFile): 사용자가 선택한 이미지를 Picture에 표시합니다.

Picture 이미지 파일을 다운로드하여 표시

인터넷에서 이미지를 다운로드하여 Picture에 표시합니다.

MyGui := Gui()
URL := https://example.com/example.jpg
LocalFile := downloaded.jpg
UrlDownloadToFile(URL, LocalFile)
MyGui.Add(Picture, w200 h150, LocalFile)
MyGui.Show(w300 h300)

설명

  • UrlDownloadToFile(URL, LocalFile): URL에 있는 이미지를 LocalFile로 다운로드합니다.
  • MyGui.Add(“Picture”, “w200 h150”, LocalFile): 다운로드한 이미지를 Picture에 표시합니다.

마우스 클릭으로 이미지 변경

Picture 컨트롤을 클릭하면 이미지를 변경합니다.

MyGui := Gui()
MyPicture := MyGui.Add(Picture, gOnClick w200 h150, example1.jpg)
MyGui.Show(w300 h300)

OnClick() {
    MyPicture.Value := example2.jpg
}

설명

  • gOnClick: Picture 컨트롤을 클릭하면 OnClick 함수가 실행됩니다.
  • MyPicture.Value: 클릭 시 example2.jpg로 이미지를 변경합니다.

마우스 오버로 이미지 변경

마우스를 올리면 이미지가 변경되고, 마우스를 내리면 원래 이미지로 돌아옵니다.

MyGui := Gui()
MyPicture := MyGui.Add(Picture, w200 h150, example1.jpg)
MyPicture.OnEvent(MouseMove, () => MyPicture.Value := example2.jpg)
MyPicture.OnEvent(MouseLeave, () => MyPicture.Value := example1.jpg)
MyGui.Show(w300 h300)

설명

  • OnEvent(“MouseMove”): 마우스가 Picture에 올라가면 example2.jpg로 변경됩니다.
  • OnEvent(“MouseLeave”): 마우스가 Picture를 벗어나면 example1.jpg로 돌아옵니다.

향후 추가 예정

  • Picture의 동적 생성 및 제어
  • 마우스 이벤트를 통한 이미지 변경 및 상호작용 추가
  • 파일 시스템에서 이미지 목록을 가져와 Picture에 자동 추가
Subscribe
Notify of
guest
0 댓글
Inline Feedbacks
View all comments