Create a bitmap

Create a bitmap

Postby byte-one » Sat Nov 09, 2013 5:09 pm

I need a function to create a bitmap in memory with x,y size. On the hDC from this bitmap i will paint with a existing function for the Screen. And then i will convert this Bitmap to JPG. Is possible?
Thanks
Regards,
Günther
---------------------------------
office@byte-one.com
User avatar
byte-one
 
Posts: 1048
Joined: Mon Oct 24, 2005 9:54 am
Location: Austria

Re: Create a bitmap

Postby ukoenig » Sat Nov 09, 2013 9:18 pm

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.

Image

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 :?:
Last edited by ukoenig on Sun Nov 10, 2013 1:19 pm, edited 6 times in total.
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany

Re: Create a bitmap

Postby Antonio Linares » Sat Nov 09, 2013 9:42 pm

Günther,

Please look for CreateCompatibleDC and CreateCompatibleBitmap in FWH sources, you will find several code examples
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42094
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Create a bitmap

Postby byte-one » Sun Nov 10, 2013 6:35 pm

Thanks Antonio and Uwe!
I will look at that. But the "best" version in my case is to make a hidden dialog, paint with the old outine on it (then no changes are required) and make a screenshoot.
Regards,
Günther
---------------------------------
office@byte-one.com
User avatar
byte-one
 
Posts: 1048
Joined: Mon Oct 24, 2005 9:54 am
Location: Austria

Re: Create a bitmap

Postby ukoenig » Wed Nov 20, 2013 2:23 pm

Günther,

I don't know, if it will be still useful for You or any other user.
I finished my allinone-solution, with possible
RESIZE and CONVERT the original size or resized to any other format.
( because ALPHA-images are supported for DISPLAY and EXPORT it can be used as a LOGO-editor )
WINDOW- or DIALOG-display in DESIGN-mode
EXPORT all settings / selections to a extra EXE-file.
Painters for WINDOW- and DIALOG-background ( showing any combination )
Painter, to resize and define the EXPORT-format of a image.

there are two solutions :

Window-display
( shows the original, resized or converted )

The sample shows the RESIZED original

Image

Optional NEW Dialog-display
( shows the original, resized or converted )

The sample shows the RESIZED original

Image

The sample shows a resized TRANSPARENT logo

Image

define Image-size, position and export-format

Image

Result of a created external PRG- and EXE-file ( everything is defined inside the Main-tool )

Image


Best Regards
Uwe :?:
Since 1995 ( the first release of FW 1.9 )
i work with FW.
If you have any questions about special functions, maybe i can help.
User avatar
ukoenig
 
Posts: 4043
Joined: Wed Dec 19, 2007 6:40 pm
Location: Germany


Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 80 guests