[c++] libpng 함수

이 라이브러리를 사용하여 PNG 이미지를 생성하는 예제 코드는 다음과 같습니다.

#include <png.h>
#include <stdio.h>
#include <stdlib.h>

// PNG 이미지 생성 함수
void createPNG(const char* filename, int width, int height) {
    FILE *fp = fopen(filename, "wb");
    if (!fp) abort();

    png_structp png = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
    if (!png) abort();

    png_infop info = png_create_info_struct(png);
    if (!info) abort();

    if (setjmp(png_jmpbuf(png))) abort();

    png_init_io(png, fp);

    // 이미지 속성 설정
    png_set_IHDR(
        png,
        info,
        width, height,
        8,
        PNG_COLOR_TYPE_RGB,
        PNG_INTERLACE_NONE,
        PNG_COMPRESSION_TYPE_DEFAULT,
        PNG_FILTER_TYPE_DEFAULT
    );
    
    // 이미지 쓰기
    png_write_info(png, info);

    // 메모리 해제
    png_destroy_write_struct(&png, &info);
    fclose(fp);
}

위의 코드는 libpng을 사용하여 PNG 이미지를 생성하는 간단한 예제입니다. libpng의 자세한 사용 방법은 공식 documentation을 참조하시기 바랍니다.

libpng 공식 documentation