1 #ifndef IMAGESOURCE_UTIL_H 2 #define IMAGESOURCE_UTIL_H 3 4 #include "imagesource.h" 5 6 enum IS_ScalingQuality 7 { 8 IS_SCALING_AUTOMATIC, 9 IS_SCALING_NEARESTNEIGHBOUR, 10 IS_SCALING_BILINEAR, 11 IS_SCALING_LANCZOSSINC, 12 IS_SCALING_MAX, 13 IS_SCALING_DOWNSAMPLE // An extra entry used for high-quality image reduction. 14 }; 15 16 struct IS_ScalingQualityDescription 17 { 18 const char *Name; 19 const char *Description; 20 }; 21 22 23 ImageSource *ISLoadImage(const char *filename); 24 ImageSource *ISScaleImageByResolution(ImageSource *source,double xres,double yres,IS_ScalingQuality quality=IS_SCALING_AUTOMATIC); 25 ImageSource *ISScaleImageBySize(ImageSource *source,int w,int h,IS_ScalingQuality quality=IS_SCALING_AUTOMATIC); 26 const IS_ScalingQualityDescription *DescribeScalingQuality(IS_ScalingQuality quality); 27 28 #endif 29