GDImage64 Aquarium project

Headers, Bindings, Libraries for use with FreeBASIC, Please include example of use to help ensure they are tested and usable.
Post Reply
Patrice Terrier
Posts: 40
Joined: Jan 06, 2006 8:27
Location: France
Contact:

GDImage64 Aquarium project

Post by Patrice Terrier »

Image

This is a GDImage 64-bit demo, using multiple transparent layers, working in DWM composited mode.

GDImage is written in C/C++, it is an advanced mature graphic library able to mix 2D and 3D inside of the same graphic control.

The FreeBasic 64-bit project is here.
Imortis
Moderator
Posts: 1987
Joined: Jun 02, 2005 15:10
Location: USA
Contact:

Re: GDImage64 Aquarium project

Post by Imortis »

Where can I find more info about GDImage? I did a search online and I find the libgd project, and it's PHP binding. Is that the lib in question, or is there something else. There is no license info in the GDImage.bi file or anything similar so I have no idea where this came from.
Patrice Terrier
Posts: 40
Joined: Jan 06, 2006 8:27
Location: France
Contact:

Re: GDImage64 Aquarium project

Post by Patrice Terrier »

GDImage 7.13

Is a mature graphic library (DLL) that exists since more than 20 years.
It is available in 32 or 64-bit.
The 32-bit version is ANSI based, while the 64-bit version is UNICODE based.

GDImage controls are persistent, you'll never worry about redrawing when your window is minimized or temporarily covered,
because they handle all the messy Windows details for you.
You can have multiple GDImage controls inside of a same application.

The working philosophy is the same than for Windows itself.
A GDImage control could be compared to the Windows desktop that could have icons (sprites) or popup window inside of it (widgets).
While a GDImage background is static, all the objects added to it could be moved around with the mouse or the keyboard arrow keys, once an object has got the focus.
You can anchored each object added to a GDImage control just like regular controls inside of a window, you can change the z-order from bottom to top and reverse, the objects are working the same than PhotoShop multiple transparent layers.

Main features

• Full 32-bit ARGB color mode, suitable to perform alphablending, and working in composited mode (DWM aware).
• Mix bitmaps, vectorial drawing, and 3D in the same graphic control.
• Create child controls, popup layered windows, popup shapped windows (window based on region).
• Sprite animation, dynamic image rotation.
• Built-in visual effects to perform slide show presentation.
• Mix GDI32, GDIPLUS, and OpenGL inside the same graphic control.
• Create 3D texture from any of the supported graphic format.
• Full range image and text rotation (0-360°).
• Multiple z-order composited layers using opaque or variable opacity.
• Display large image with scrolling capabilities.
• Zooming with bicubic interpolation and pixel preservation.
• Events callback to create interactive applications (mousing + keyboard).
• Multiple channel settings for alpha, red, green, blue, brightness, contrast, hue, saturation.
• 3D primitives (cube, sphere, cup, dome, cone, plan, disk, cylinder).
• Anchor mode (to use with existing Windows controls, or GDImage graphic objects).
• Anti red-eye.
• Gauge components.
• Grayed disabled window mode (to display child popup window in modal mode).
• Built-in theme support (to skin SDK window).
• Image using multi-frame, for the purpose of static animation.
• Clock control.
• Ready to use "SDK style" source code examples, to ease translation from one language to another.
• Detailed CHM help file.

Sprite objects:

Image, text, line, arrow, ellipse, rectangle, polyline, polypoligon, curve.
All the sprite objects are floating above the image background as transparent or opaque layers.

Object properties:

• objType (text, ellipse, rectangle, curve, arrow, polyline, bitmap, bezier, polypolygon, textBitmap)
• useFont (True Type)
• useSize (Font size)
• fontFam (Font family)
• strFormat (String format)
• useARGB (Full 32-bit ARGB color)
• use3D (Boolean for 3D effect)
• x1 (x location)
• y1 (y location)
• x2 (width)
• y2 (height)
• visible (boolean visibility state)
• order (zOrder location)
• locked (boolean, can't be moved with the mouse)
• ID (unique object IDentifier)
• Style (object style)
• Bitmap (handle to the associated DIB bitmap)
• Region (handle to the associated region)
• objLabel (friendly name)
• xCapture (mouse X capture)
• yCapture (mouse Y capture)
• opacity (object opacity, alpha channel value)
• scale (zooming size)
• clone (pointer to the original object)
• xP (X offset for scaled object)
• yP (Y offset for scaled object)
• angle (The rotation angle)
• quality (Antialias quality)
• flipmode (display orientation)
• selected (in case of multiple object selection)
• hidden (to hide a specific object)
• brightness (image aspect)
• contrast (image aspect)
• red (color channel)
• green (color channel)
• blue (color channel)
• hue (image aspect)
• FrameCount (number of frame)
• FrameToUse (active frame to use)
• anchor (top, left, center, right, bottom, etc.)

GDImage is 100% compatible with the WinLIFT skin engine
They have been designed to work together, and they perform mutual code detection.

More insight on
http://www.objreader.com
https://www.zapsolution.com

VIDEO
My 3D engine in action
PowerBASIC GDImage version 5.00
MBulti media player

GDImage has been used for years in PowerBASIC and PC-Soft WinDev projects
Last edited by Patrice Terrier on Jun 27, 2025 19:26, edited 6 times in total.
RetardedAndProud
Posts: 37
Joined: Jun 09, 2024 18:26

Re: GDImage64 Aquarium project

Post by RetardedAndProud »

Imortis wrote: Jun 27, 2025 17:45 Where can I find more info about GDImage? I did a search online and I find the libgd project, and it's PHP binding. Is that the lib in question, or is there something else. There is no license info in the GDImage.bi file or anything similar so I have no idea where this came from.
It's not open source or free! 450 Euro :shock:
https://www.zapsolution.com/DW/US/gdimage.html
Patrice Terrier
Posts: 40
Joined: Jan 06, 2006 8:27
Location: France
Contact:

Re: GDImage64 Aquarium project

Post by Patrice Terrier »

Indeed 450 € was for the 32-bit ANSI version, and 750 € for both 32 and 64-bit UNICODE.

But the good news is that Version 7.21 (the one posted wit the FB project), is a now a Paypal donate ware version like for WinLIFT.

You need a valid license, only if you plan to use it in a commercial project or get support from me.
paul doe
Posts: 1880
Joined: Jul 25, 2017 17:22
Location: Argentina
Contact:

Re: GDImage64 Aquarium project

Post by paul doe »

So this is just for advertising, then?
RetardedAndProud
Posts: 37
Joined: Jun 09, 2024 18:26

Re: GDImage64 Aquarium project

Post by RetardedAndProud »

I've never understood the mentality of selling a product at an extortianate price to a few, when you could equally sell it at a reasonable price to many and benefit from it's increased circulation and popularity that benefits the masses rather than the few.

HexRays and IDA Pro spring to mind, a great product that only a few can afford.

I know it's just human greed, but I think a lot of them have delusions of grandeur.
paul doe
Posts: 1880
Joined: Jul 25, 2017 17:22
Location: Argentina
Contact:

Re: GDImage64 Aquarium project

Post by paul doe »

It's not that, but I found it strange that it was under 'Libraries & Headers', which is usually reserved for, well, Open Source libraries and/or headers. There's nothing wrong with advertising per-se (I don't think this can be classified as 'spam', although the difference might be just pedantic), but it seems it would be more appropriate for it to be in 'Projects', paid or no...
Patrice Terrier
Posts: 40
Joined: Jan 06, 2006 8:27
Location: France
Contact:

Re: GDImage64 Aquarium project

Post by Patrice Terrier »

I didn't want to advertise anything (I am a retired programmer since 2017).
I am posting it in Librairies & Headers, because both WinLIFT and GDImage are Win32 DLLs.

I am doing this because José Roca asked me if my LIBs could work with FreeBasic.

So I made the effort to convert some of my tutorial codes to explain how to use them with FB.

My code is not open source, except for those with a good OpenGL shader expertise wanting to contribute to my ObjReader 3D project.

If you find WinLIFT or GDImage useless, just ignore them, or a moderator can ask me to stop posting more, if this is inapropriate for this forum.
Post Reply