Description

The RC0 release is out since the last hackweek see GFXprim pages. From that point 187 patches with various fixes, new features and new tests went in. New features includes support for various file formats, fixes and enhancements in python bindings, speedups, CMYK support, better documentation and more. Now it's about the time for RC1.

Gfxprim is simple modular 2D bitmap graphics library with emphasis on speed and correctness.

One of the key points of the library is meta-programming. Most of the operations and filters are written in Jinja templating language that is used to generate specialized code in C programming language. Creating code that works with less usual pixel types should be as easy as adding pixel definition into the configuration and rebuilding the library.

Some of the features are:

  • Supports loading and saving most of the image formats (PNG, JPG, BMP, TIFF, PNM; loading only: PSP, GIF, JPEG2000, CBZ, ...)
  • Can draw lines/circles/polygons (anti aliased drawing is being worked on)
  • Has image filters (resampling, convolutions, point filters, ditherings, ...) some supports running in multiple threads
  • Drawing and input support for X11 (with support for multiple windows), SDL, Linux Framebuffer, AALib, kernel input layer
  • Text drawing with compiled-in fonts or TTF fonts using FreeType
  • V4L2 frame grabbers
  • Python bindings (work in progress, but generally most of the C API is covered at the time)
  • Has number of unit tests

One of the tasks I want to tackle before the RC1 release is to make spiv (image viewer based on the library) to be full featured image viewer. The work has already began with implementation of feh-like actions, code cleanups, better help (-h), cleaner implementation of slideshow timers, etc. What is currently the most missing part is better configuration and handling for zooming.

There are more (smaller) tasks I have in my mind. If anybody wants to give helping hand feel free to contact me or ask on our our mailing list.

People

[Cyril Hrubis] originated this idea.

Status

GFXprim 1.0.0-rc0 has been released!

You can get the tarball directly from project pages or packages from buildservice.

Now it's time for 1.0.0-rc1 :)

Get the latest Source Code from github.

Looking for hackers with the skills:

c library graphics python

This project is part of:

Hack Week 10

Activity

  • over 10 years ago: metan added keyword "python" to this project.
  • over 10 years ago: metan added keyword "c" to this project.
  • over 10 years ago: metan added keyword "library" to this project.
  • over 10 years ago: metan added keyword "graphics" to this project.
  • over 10 years ago: metan started this project.
  • over 10 years ago: metan originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Extend GObject based introspectable API to libzypp by zbenjamin

    [comment]: # (Please use the project descriptio...


    Port OTPClient to GTK >= 4.12 by pstivanin

    Project Description

    OTPClient is currentl...


    Extract generic testing framework from Linux Test Project code base by acervesato

    Project Description

    The Linux Test Projec...


    Vulkan Widget for GTK by yudaike

    [comment]: # (Please use the project descriptio...


    80-bit floats support on x86_64 for Valgrind by mfranc

    [comment]: # (Please use the project descriptio...


    Work on gfxprim e-ink support by metan

    Project Description

    I did manage to write...


    Linux incarnation of the Party Parrot by rsimai

    Project Description

    Lesser on the coding s...


    A quantum physics experiment puzzle (designed with Google's CP-SAT solver) by moio

    [![link to video player demoing the result](htt...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...


    Grab precise changes in log file/s between system events by smhalas

    [comment]: # (Please use the project descriptio...


    Script that loads dummy data into HANA database for testing purposes. by rangelino

    [comment]: # (Please use the project descriptio...


    Forklift - Text based GUI utility for dealing with containers by andreabenini

    [comment]: # (Please use the project descriptio...