JNIEXPORT void JNICALL Java_com_draekko_libharu_PdfImage_setColorMask
  (JNIEnv *env, jobject obj, jint rmin, jint rmax, jint gmin, jint gmax, jint bmin, jint bmax) {
  
    haru_setup_error_handler(env, __func__);
    HPDF_Image image = get_HPDF_Image(env, obj); 
    HPDF_Image_SetColorMask(image, rmin, rmax, gmin, gmax, bmin, bmax);
    haru_clear_error_handler();
}
JNIEXPORT void JNICALL Java_com_draekko_libharu_PdfImage_drawImage
  (JNIEnv *env, jobject obj, jfloat x, jfloat y, jfloat width, jfloat height) {
  
    haru_setup_error_handler(env, __func__);
    HPDF_Image image = get_HPDF_Image(env, obj); 
    HPDF_Page page = HPDF_GetCurrentPage(current_pdf); 
    HPDF_Page_DrawImage(page, image, x, y, width, height);
    haru_clear_error_handler();
}
JNIEXPORT void JNICALL Java_org_libharu_Page_image
  (JNIEnv *env, jobject obj_page, jobject obj_image, 
   jfloat x, jfloat y, jfloat width, jfloat height) 
{
  haru_setup_error_handler(env, __func__);
  HPDF_Page page = get_HPDF_Page(env, obj_page); 
  HPDF_Image image = get_HPDF_Image(env, obj_image);
  HPDF_Page_DrawImage(page, image, x, y, width, height);
  haru_clear_error_handler();
}
JNIEXPORT jint JNICALL Java_com_draekko_libharu_PdfImage_getSizeY
  (JNIEnv *env, jobject obj) {
  
    haru_setup_error_handler(env, __func__);
    HPDF_Point point;
    HPDF_Image image = get_HPDF_Image(env, obj); 
    point = HPDF_Image_GetSize(image);
    haru_clear_error_handler();
    
    return point.y;
}
JNIEXPORT jint JNICALL Java_com_draekko_libharu_PdfImage_getBitsPerComponent
  (JNIEnv *env, jobject obj) {

    haru_setup_error_handler(env, __func__);
    HPDF_UINT value;
    HPDF_Image image = get_HPDF_Image(env, obj); 
    value = HPDF_Image_GetBitsPerComponent(image);
    haru_clear_error_handler();
  
    return value;
}
JNIEXPORT jstring JNICALL Java_com_draekko_libharu_PdfImage_getColorSpace
  (JNIEnv *env, jobject obj) {
  
    haru_setup_error_handler(env, __func__);
    const char* ptr_colorspace;
    jstring value;
    HPDF_Image image = get_HPDF_Image(env, obj); 
    ptr_colorspace = HPDF_Image_GetColorSpace(image);
    value = env->NewStringUTF(ptr_colorspace);
    haru_clear_error_handler();

    return value;
}