GIF 파일에 프레임 추가하기
gif_add_surface
함수는 서페이스에서 GIF 파일로 프레임을 저장하는 기능을 제공합니다. 이 함수는 GIF 파일 ID와 서페이스, 그리고 프레임 간의 지연 시간을 입력받습니다. 지연 시간은 1/100초 단위로 계산됩니다. GIF가 생성된 후에는 브라우저에 따라 프레임 지연 시간이 다르게 해석될 수 있으니 주의해야 합니다.
함수 사용법
구문
gif_add_surface(gif_index, surface, delay_time, [xoffset], [yoffset], [quantization]);
인수 설명
인수 | 타입 | 설명 |
---|---|---|
gif_index | GIF ID | 서페이스 데이터를 추가할 GIF의 ID |
surface | Surface | 추가할 프레임으로 사용할 서페이스 |
delay_time | Real | 프레임의 지연 시간 (1/100초 단위) |
[xoffset] | Real | (선택 사항) 서페이스에서 추가할 X축 오프셋 |
[yoffset] | Real | (선택 사항) 서페이스에서 추가할 Y축 오프셋 |
[quantization] | Real | (선택 사항) 0에서 3까지의 양자화 값 (0: 최저 품질, 3: 최고 품질, 기본값은 2) |
반환값
- Real: 성공 시 0, 실패 시 -1
활용 예제
GIF 생성 및 프레임 추가
if (save_gif == true) {
if (count == 0) {
gif_image = gif_open(room_width, room_height);
} else if (count < 30) {
gif_add_surface(gif_image, application_surface, 6/100);
} else {
gif_save(gif_image, "GameCapture.gif");
count = 0;
save_gif = false;
}
count++;
}
다양한 지연 시간 설정
gif_add_surface(gif_image, application_surface, 10/100); // 10/100초 지연
gif_add_surface(gif_image, application_surface, 20/100); // 20/100초 지연
오프셋을 사용한 프레임 추가
gif_add_surface(gif_image, application_surface, 6/100, 10, 10); // (10, 10) 위치에서 프레임 추가
양자화 값 조정
gif_add_surface(gif_image, application_surface, 6/100, 0, 0, 0); // 최저 품질
gif_add_surface(gif_image, application_surface, 6/100, 0, 0, 3); // 최고 품질
이와 같은 방법으로 gif_add_surface
함수를 활용하여 GIF 파일에 다양한 프레임을 추가할 수 있습니다.