floatimg | ||
tests | ||
.gitignore | ||
README.md | ||
requirements-devel.txt |
python-FloatImg
A pythonesque binding to FloatImg library available at https://git.tetalab.org/tTh/FloatImg
python-FloatImg requires a quite recent Python 3 implementation (tested with 3.6.9).
Installation
python-FloatImg requires a shared object file (.so) that is not yet officialy available from FloatImg.
The file floatimg/settings.py
contains the path to the .so file.
Usage
The FloatImg class encapsulate core and file functionnalities of FloatImg library. Import if from the main module:
from floatimg import FloatImg
Image creation
FloatImg
has two class methods to create an image.
img = FloatImg.create(640, 480, FloatImg.RGB)
Or use the create_rgb
shortcut:
img = FloatImg.create_rgb(640, 480)
Note that calling the destroy
method of the instance is not necessary as it will be called automatically at instance destruction.
Or completely duplicate an existing image:
new_img = img.clone()
Image manipulation
Clear image
img.clear()
Copy pixels to another image
img.copy_data(another_img)
Set pixel value
img.put_rgb(x, y, (r, g, b))
Get pixel value
r, g, b = img.get_rgb(x, y)
File manipulation
Dump image to file
img.dump_to_file("/tmp/image_dump")
Restore image data from a dump file
img.load_from_dump("/tmp/image_dump")
Create a new image from a dump file
img = FloatImg.create_from_dump("/tmp/image_dump")
Get dump metadata
witdh, height, img_type = FloatImg.fileinfos("/tmp/image_dump")
Development
Run tests
Install development requirements (you may add --user if not in a virtual environment or not in system-wide install):
pip install -r requirements-devel.txt
Ensure floatimg
containing path is in the PYTHONPATH
, this will run the tests and show a coverage report:
pytest --cov=floatimg tests/*