Günther,
I think, You want to resize with a zoom-factor, to keep the aspect ratio of the image ?
Next, this resized image ( BMP ) must be painted on a defined Window-background and saved as JPG ?
I created a complete sample, how it works.
Maybe possible to add => FreeImage_Rescale ?
I used NCONVERT for the moment.
FreeImage_Rescale(FIBITMAP *dib, int dst_width, int, dst_height, FREE_IMAGE_FILTER filter)DLL32 FUNCTION IMGRESCALE( ........This function performs resampling (or scaling, zooming) of a greyscale or RGB(A) image to
the desired destination width and height. A NULL value is returned when the bitdepth cannot
be handled or when there’s not enough memory (this may happen with very large images).
16-bit RGB bitmap are returned as 24-bit. Palettized and 4-bit bitmap are returned as 8-bit
palettized images, using an internal conversion to 24-bit followed by a color quantization, or
are returned as 32-bit if they contain transparency.
Resampling refers to changing the pixel dimensions (and therefore display size) of an image.
When you downsample (or decrease the number of pixels), information is deleted from the
image. When you upsample (or increase the number of pixels), new pixels are added based
on color values of existing pixels. You specify an interpolation filter to determine how pixels
are added or deleted.
The following filters can be used as resampling filters:
Filter flag Description
FILTER_BOX Box, pulse, Fourier window, 1st order (constant) B-Spline
FILTER_BILINEAR Bilinear filter
FILTER_BSPLINE 4th order (cubic) B-Spline
FILTER_BICUBIC Mitchell and Netravali's two-param cubic filter
FILTER_CATMULLROM Catmull-Rom spline, Overhauser spline
FILTER_LANCZOS3 Lanczos-windowed sinc filter
Best regards
Uwe