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:
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:
# without copying data
new_img = img.clone()
# with copying data
new_img = img.clone(1)
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/*