# 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: ```python import floatimg ``` ### Image creation `FloatImg` has two class methods to create an image. ```python img = floatimg.create(640, 480, floatimg.RGB) ``` Or use the `create_rgb` shortcut: ```python 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: ```python # without copying data new_img = img.clone() # with copying data new_img = img.clone(1) ``` ### Image manipulation #### Clear image ```python img.clear() ``` #### Copy pixels to another image ```python img.copy_data(another_img) ``` #### Set pixel value ```python img.put_rgb(x, y, (r, g, b)) ``` #### Get pixel value ```python r, g, b = img.get_rgb(x, y) ``` ### File manipulation #### Dump image to file ```python img.dump_to_file("/tmp/image_dump") ``` #### Restore image data from a dump file ```python img.load_from_dump("/tmp/image_dump") ``` #### Create a new image from a dump file ```python img = floatimg.create_from_dump("/tmp/image_dump") ``` #### Get dump metadata ```python 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/* ```