IppImage 클래스에서 명시적으로 영상을 생성하기 위해서는 CreateImage 멤버 함수를 사용하고, 이미 생성되어 있는 영상 데이터를 없애기 위해서는 DestroyImage 함수를 사용한다. 이들 함수의 원형은 다음과 같다.

    void CreateImage(int w, int h);
    • void DestroyImage();

    CreateImage 함수의 인자는 생성할 영상의 가로와 세로 크기이다. CreateImage 함수와 DestroyImage 함수 구현부는 앞서 설명한 생성자 및 소멸자와 거의 유사하다. 소스 4-11을 참고하라.

    소스 4-11 IppImage 클래스 - 생성과 소멸(IppImage.h)
    template<typename T>
    void IppImage<T>::CreateImage(int w, int h)
    {
        DestroyImage();
    
        width = w;
        height = h;
    
        pixels = new T*[sizeof(T*) * height];
        pixels[0] = new T[sizeof(T) * width * height];
    
        for (int i = 1; i < height; i++)
            pixels[i] = pixels[i - 1] + width;
    
        memset(pixels[0], 0, sizeof(T) * width * height); // 픽셀 값 초기화
    }
    
    template<typename T>
    void IppImage<T>::DestroyImage()
    {
        if (pixels != NULL) {
            delete[] pixels[0];
            delete[] pixels;
            pixels = NULL;
        }
    
        width = height = 0;
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.