surface_save_part 함수 설명
surface_save_part
함수는 주어진 파일 이름을 사용하여 서피스의 일부를 디스크에 저장하는 기능을 제공합니다. 서피스는 반드시 *.png 형식으로 저장되어야 하며, (x, y) 위치는 서피스의 로컬 좌표로 제공되어야 합니다. 서피스의 왼쪽 상단 모서리는 항상 (0, 0)입니다.
문법
surface_save_part(surface_id, fname, x, y, width, height);
인수 설명
인수 이름 | 유형 | 설명 |
---|---|---|
surface_id | Surface | 그리기 대상이 될 서피스 |
fname | String | 저장할 이미지 파일의 이름 |
x | Real | 서피스 내에서 시작하는 x 위치 |
y | Real | 서피스 내에서 시작하는 y 위치 |
width | Real | 저장할 부분의 너비 |
height | Real | 저장할 부분의 높이 |
반환 값
- N/A
활용 예제
예제 1: 키보드 입력으로 서피스 저장하기
if (keyboard_check_pressed(ord("S"))) {
surface_save_part(surf, "test.png", 0, 0, 100, 100);
}
위 코드는 사용자가 키보드에서 "S" 키를 눌렀는지 확인하고, 눌렀다면 변수 surf
에 인덱스된 서피스의 일부를 디스크에 저장합니다.
예제 2: 특정 영역 저장하기
surface_save_part(surf, "part.png", 50, 50, 200, 150);
이 코드는 서피스의 (50, 50) 위치에서 시작하여 200x150 크기의 부분을 "part.png"라는 이름으로 저장합니다.
예제 3: 여러 서피스 저장하기
surface_save_part(surf1, "surface1.png", 0, 0, 300, 300);
surface_save_part(surf2, "surface2.png", 10, 10, 250, 250);
이 코드는 두 개의 서로 다른 서피스를 각각 다른 파일 이름으로 저장합니다.
예제 4: 동적 파일 이름 생성하기
var filename = "screenshot_" + string(current_time) + ".png";
surface_save_part(surf, filename, 0, 0, 400, 300);
이 코드는 현재 시간을 기반으로 동적으로 파일 이름을 생성하여 서피스를 저장합니다.
예제 5: 서피스의 특정 부분만 저장하기
surface_save_part(surf, "crop.png", 100, 100, 50, 50);
이 코드는 서피스의 (100, 100) 위치에서 시작하여 50x50 크기의 부분을 "crop.png"라는 이름으로 저장합니다.