neoImage is a modern image viewer and renderer for VisualNEO Win. It loads local images, HTTP/HTTPS URLs, and Base64 Data URIs, then displays them with configurable fitting, alignment, zoom, pan, rotation, flipping, opacity, interpolation, background, and border styling.
Installation
Install the com.visualneo.neoimage.vnplugin folder through the VisualNEO Win plugin manager. The package contains the 32-bit Delphi plugin module required by VisualNEO Win.
Control
Add neoImage Viewer from the tool palette. The default size is 320 x 240 pixels.
Image properties
| Property | Purpose |
|---|---|
| Image Source / URL / Base64 | Local path, HTTP/HTTPS URL, or an image Data URI. |
| Fit Mode | Contain, Cover, Stretch, or Actual Size. |
| Image Alignment | Positions the image when unused space remains. |
| Zoom | Additional scale from 10% to 800%. |
| Horizontal / Vertical Offset | Moves the rendered image in pixels. |
| Rotation | Clockwise rotation in degrees. |
| Flip Mode | None, horizontal, vertical, or both. |
| Image Opacity | Image opacity from 0 to 100. |
| Scaling Quality | High-quality interpolation or nearest-neighbor scaling. |
| Background Color | auto, transparent, or a hexadecimal color. |
| Transparency Checkerboard | Shows a checkerboard behind transparent pixels. |
| Mouse Wheel Zoom | Lets the user zoom over the control. |
| Drag to Pan | Lets the user move the image by dragging. |
| Double-click Resets View | Restores zoom, pan, rotation, and flip. |
| Empty State / Alternative Text | Text shown when no image is loaded. |
The standard VisualNEO style panel also controls the host fill, border color, border width, line style, corner radius, and transparency. Selecting Hollow makes the viewer background transparent while preserving the rendered image, its opacity, and its optional border. Explicit host transparency flags take precedence over the fill pattern, so changing back to a solid fill restores the background correctly. Solid, dashed, dotted, dash-dot, dash-dot-dot, and clear line styles are supported. Borders, including one-pixel borders, are inset so all four sides remain visible. The provider recognizes the host's transparent, isTransparent, and Hollow fill-pattern forms and uses the VisualNEO compositor for design and runtime rendering.
The checkerboard is an intentional opaque visualization of transparent pixels. Disable Show Transparency Checkerboard when the page or controls behind neoImage should remain visible.
Supported sources
GDI+ supplies decoding for common static formats including PNG, JPEG, GIF, BMP, TIFF, and ICO. Animated GIF frames are displayed as a static image. URL loading follows the Windows internet configuration. A Data URI must use the form data:image/<format>;base64,<data>.
Actions
All commands use the neoImage prefix.
- neoImageLoad loads a local file, URL, or Base64 Data URI.
- neoImageClear removes the current image.
- neoImageSetFit selects contain, cover, stretch, or actual-size rendering.
- neoImageSetZoom sets zoom from 10 to 800 percent.
- neoImagePan sets the horizontal and vertical offsets.
- neoImageRotate sets clockwise rotation in degrees.
- neoImageFlip selects none, horizontal, vertical, or both.
- neoImageResetView restores the default view.
- neoImageGetInfo returns source, load state, dimensions, and view values.
- neoImageSave exports the rendered view as PNG, JPEG, or BMP.
- neoImageSetAlignment positions the image within unused viewer space.
- neoImageSetOpacity sets image opacity from 0 to 100.
- neoImageSetBackground selects a
#HEXcolor,auto, ortransparent. - neoImageZoomBy changes the current zoom by a relative percentage.
- neoImagePanBy adds horizontal and vertical offsets to the current pan.
- neoImageSetQuality selects high-quality or nearest-neighbor scaling.
- neoImageSetCheckerboard shows or hides the transparency checkerboard.
Action results are written to [neoImageResult] and [ModernPluginResult]. neoImageGetInfo returns JSON. The export action uses the control dimensions when output width or height is zero; JPEG quality accepts values from 1 to 100.
Action IDs and command names are both accepted by the runtime dispatcher. Relative zoom is clamped to 10-800%, and opacity is clamped to 0-100.
Events
- Image Loaded fires after an image is loaded or the viewer is cleared.
- Image Load Error reports a source that could not be decoded or downloaded.
- Image Clicked fires for a click without a drag.
- Image Double-clicked fires for a double-click.
- Image View Changed fires after zoom, pan, rotation, or flip changes.
Runtime notes
Remote images are downloaded synchronously when the source is assigned. For large remote files, load them before showing a time-sensitive page. Export includes the current fit, zoom, pan, rotation, flip, opacity, background, checkerboard, and border presentation.
License
The plugin source is intended for use with the VisualNEO Win Modern Plugin SDK. It uses Windows GDI+ and WinInet APIs and introduces no third-party runtime dependency.