Skip to main content

A module in Python3 providing a bridge with the Windows Imaging Component (WIC) framework and helping the creation, marshaling and registration of custom COM interfaces

Project description

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" -l python3

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

Project details


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.0.tar.gz (778.3 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.0-py3-none-any.whl (778.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wicpy-1.3.0.tar.gz
  • Upload date:
  • Size: 778.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wicpy-1.3.0.tar.gz
Algorithm Hash digest
SHA256 fe377f93a30900e4dad2b2d328d3bd01a5d07adcecefd46e50abb4a4359e2b5e
MD5 c1f822cbcc48cf82472b5adc2790303f
BLAKE2b-256 57e98a5a79a21a190161a910684dc138b2dff9ea258edc99b6c22798a142516a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wicpy-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 778.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for wicpy-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 89693fa68783029092b57b60b92ac6b2b0f51d066542d8aa872c49e39e5af9c7
MD5 b2653a2ab7d2b84bda143236a21303d4
BLAKE2b-256 4694f35e139532349a13359befd40189b2f765c3c5edf2199f74c8856f4c8ffb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page