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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wicpy-1.3.2.tar.gz (794.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wicpy-1.3.2-py3-none-any.whl (796.6 kB view details)

Uploaded Python 3

File details

Details for the file wicpy-1.3.2.tar.gz.

File metadata

  • Download URL: wicpy-1.3.2.tar.gz
  • Upload date:
  • Size: 794.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for wicpy-1.3.2.tar.gz
Algorithm Hash digest
SHA256 e462d57a1457476fac5dd8a5ead5efce85c112f61a724c9b93f499efbcae26f2
MD5 851383cb57647038acd8fb66a79d0354
BLAKE2b-256 718bbff435b729f64a2af85680c17da3940e2c5cc3a9003c62f0c95491b88e85

See more details on using hashes here.

File details

Details for the file wicpy-1.3.2-py3-none-any.whl.

File metadata

  • Download URL: wicpy-1.3.2-py3-none-any.whl
  • Upload date:
  • Size: 796.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for wicpy-1.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 6da1637be7d9e6ffc93f19f8dcfc096490eb9234cc0807e71d9147c1f5999600
MD5 96502bbf923eefc7984111ef37e57cd6
BLAKE2b-256 f165267416984ffea3a073048217f4f36c8f4590f134fbd2a537d410946df859

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.2 This release

2 files

1.3.1

2 files

1.3.0

2 files

1.2.0

2 files

1.0.1

2 files

1.0.0

2 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