Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/urbanjost/m_pixel
low-level graphics routines that write into a pixel array; supplemented by modules that create GIF files
https://github.com/urbanjost/m_pixel
fortran fortran-package-manager fpm pixmap vector-graphics
Last synced: about 6 hours ago
JSON representation
low-level graphics routines that write into a pixel array; supplemented by modules that create GIF files
- Host: GitHub
- URL: https://github.com/urbanjost/m_pixel
- Owner: urbanjost
- License: other
- Created: 2020-08-22T01:07:08.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-03-30T00:10:25.000Z (7 months ago)
- Last Synced: 2024-03-30T01:23:20.030Z (7 months ago)
- Topics: fortran, fortran-package-manager, fpm, pixmap, vector-graphics
- Language: Fortran
- Homepage:
- Size: 30.1 MB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![sample](docs/images/M_pixel.gif)
## M_pixel - low level pixel graphics library## DESCRIPTION
This is a library that creates pixel images with a vector-oriented
graphics library that emulates a subset of the M_draw vector graphics
library. It is supplemented with additional modules that read and write
GIF files, including animated GIFs.The user may supplement the routines by directly manipulating the pixel
map as well.## BUILDING THE MODULES
git clone https://github.com/urbanjost/M_pixel.git
cd M_pixel/src
# change Makefile if not using one of the listed compilers
# for gfortran
make clean
make F90=gfortran gfortran
# for ifort
make clean
make F90=ifort ifort# for nvfortran
make clean
make F90=nvfortran nvfortranThis will compile the Fortran and basic example programs that exercise
the routines.## DOCUMENTATION ![docs](docs/images/docs.gif)
### USER
- an [index](https://urbanjost.github.io/M_pixel/man3.html) to
the individual man-pages in HTML form- A single page that uses javascript to combine all the HTML
descriptions of the man-pages is at
[BOOK_M_pixel](https://urbanjost.github.io/M_pixel/BOOK_M_pixel.html).- [CHANGELOG](docs/CHANGELOG.md) provides a history of significant changes
### DEVELOPER
- [ford(1) output](https://urbanjost.github.io/M_pixel/fpm-ford/index.html).- [github action status](docs/STATUS.md)
## ADDITIONAL DIRECTORY DESCRIPTIONS
There are
- man-pages in [docs/manpages.tgz](docs/manpages.tgz) and [docs/manpages.zip](docs/manpages.zip)
- demo programs in the [example/](example/) directory
- applications in the app/ directory## UNIT TESTS
There are no automated unit tests per-se. Running the example programs
and demo programs ensures the library is functioning.## FUTURE
There are a collection of higher-level routines that need added, as well
as more font support, and antialiasing and basic pixel operations (the
library currently primarily provides two-dimensional vector-like commands).An example program using this low-level library to generate higher-level
graphics:![M-slices](docs/images/M_slices.3.gif)