ObjReader Community

GDImage => The concept => Topic started by: Patrice Terrier on February 07, 2020, 01:19:04 pm

Title: How does it work
Post by: Patrice Terrier on February 07, 2020, 01:19:04 pm
GDImage 7.00

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.