Skip to main content

WICPy

A module in Python3, without any dependecy, providing a bridge with the Windows Imaging Component (WIC) framework

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

WICPy defines Python (>=v3.8) classes wrapping the COM interfaces, bringing access to their methods and coordinating the memory managed and unmanaged modes of the resources from either side.

The COM library must be initialized for each thread creating from scratch a new component by calling Initialize() and therefore uninitialized at the end by calling Uninitialize(), after having released all interfaces.

Bases of wrappers for Direct2D, Direct3D 11 and DXGI interfaces involved in interoperability with WIC are made available. WICPy also gives access to the Windows Media Player photo library, as well as some Windows Shell Namespace resources.

Besides, the module facilitates the creation of custom COM interfaces, implementations and pxoxies/stubs using metaclasses. Factory classes can be registered in the registry and invoked using comserver.dll which must be placed in the same folder as wic.py.
The DLL comserver.dll can be compiled from the source code comserver.c for example with MINGW64 with the command (the args must be set according to the path and installed version of python):
  gcc -shared comserver.c -o comserver.dll -I "C:\Program Files\Python\include" -L "C:\Program Files\Python\libs" -lpython3 -lole32

The script test.py illustrates how to use the module through various applications.

Metadata

Release files for WICPy 1.3.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for WICPy 1.3.2
File Size Uploaded
wicpy-1.3.2.tar.gz 794.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for WICPy 1.3.2
File Interpreter ABI Platform
wicpy-1.3.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / wicpy-1.3.2.tar.gz

Download URL wicpy-1.3.2.tar.gz
Size 794.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e462d57a1457476fac5dd8a5ead5efce85c112f61a724c9b93f499efbcae26f2
BLAKE2b-256 checksum
How to use checksums
718bbff435b729f64a2af85680c17da3940e2c5cc3a9003c62f0c95491b88e85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release files / wicpy-1.3.2-py3-none-any.whl

Download URL wicpy-1.3.2-py3-none-any.whl
Size 796.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6da1637be7d9e6ffc93f19f8dcfc096490eb9234cc0807e71d9147c1f5999600
BLAKE2b-256 checksum
How to use checksums
f165267416984ffea3a073048217f4f36c8f4590f134fbd2a537d410946df859
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.6

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page