A downloadable tool for Windows

This demo demonstrates how to render graphics to an off-screen memory canvas (MemDC) using Direct2D and save the resulting images as files through a custom WIC-based DLL.

🚀 Key Features

  • Off-Screen Rendering: Utilizes Direct2D to draw onto a virtual bitmap (MemDC), allowing full control over resolution and format without displaying on-screen.
  • Flexible Output Formats: Supports saving images in PNG, JPEG, BMP, TIFF, GIF formats via the SaveDCToFileWIC.dll.
  • Simple Integration: Easily save images with a single function call:

  • Declare Function SaveDCToFileWIC CDecl Lib "SaveDCToFileWIC.dll" (ByVal hDC%, ByVal filename$) As Long       
  • Modern & Efficient: Leverages hardware-accelerated Direct2D for rendering and WIC for fast image encoding, outperforming older APIs like GDI+.
  • Extensible Design: The DLL can be extended to include features such as compression settings, DPI metadata, or support for animations.

🧩 Usage Scenarios

  • High-Resolution Screenshots: Capture windows or scenes for sharing or analysis.
  • Automated Graphic Generation: Create charts, diagrams, or visualizations for reports or websites.
  • Game Asset Creation: Generate textures, sprites, or UI elements programmatically.
  • Thumbnail Generation: Produce preview images for media content.
  • Scientific Visualization: Render high-quality heatmaps or simulation outputs (e.g., TIFF for publications).
  • Image Processing Pipelines: Apply filters or overlays automatically.
  • Legacy App Modernization: Add high-quality image export to outdated graphics systems.
  • Server-Side Image Generation: Create dynamic images such as avatars or charts.
  • Animation Frame Export: Generate frames for animations or GIFs.
  • Debugging & Testing: Save intermediate rendering states.

🌟 Why It’s Awesome

  • High Performance: Hardware-accelerated rendering via Direct2D.
  • Versatile Format Support: Save images in multiple formats with easy extension by file extension.
  • No Display Required: Ideal for automation, server-side processing, or background tasks.
  • Open Source: Source code for the DLL is available on GitHub: https://github.com/XmanGB32

🛠️ Get Started

Place SaveDCToFileWIC.dll in your application directory or system path. Pass the handle of your off-screen memory DC and the desired filename to the DLL function to save your image effortlessly.

Perfect for developers looking for fast, high-quality graphic exports!

Published 1 day ago
StatusReleased
CategoryTool
PlatformsWindows
AuthorPLANET XAVIER
Tagsd2d, dll, gb32, gfa, gfa-basic, GitHub, save-image, wic
LinksBlog, YouTube

Download

Download
Demo_Large_D2D_Canvas_Export.g32 8.8 kB
Download
SaveDCtoFileWIC.dll 10 kB

Install instructions

To run the demo you'll need: GFA-BASIC 32 for Windows (free)
https://gfabasic32.blogspot.com/p/download.html
For the source code of the DLL:
https://github.com/XmanGB32/SaveDCtoFileWIC

Development log

Leave a comment

Log in with itch.io to leave a comment.