All Projects → mbrlabs → pixl

mbrlabs / pixl

Licence: Apache-2.0 license
🚀 Lightweight image processing library in C++11

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to pixl

Mort
Storage and image processing server written in Go
Stars: ✭ 420 (+1254.84%)
Mutual labels:  resize, png, jpeg
Sharp
High performance Node.js image processing, the fastest module to resize JPEG, PNG, WebP, AVIF and TIFF images. Uses the libvips library.
Stars: ✭ 21,131 (+68064.52%)
Mutual labels:  resize, png, jpeg
downscale
Better image downscale with canvas.
Stars: ✭ 80 (+158.06%)
Mutual labels:  resize, png, jpeg
jimp-compact
✏️ Lightweight version of Jimp -- An image processing library written entirely in JavaScript for Node.js
Stars: ✭ 55 (+77.42%)
Mutual labels:  resize, png, jpeg
Bimg
Go package for fast high-level image processing powered by libvips C library
Stars: ✭ 1,394 (+4396.77%)
Mutual labels:  resize, png, jpeg
PNG-Upscale
AI Super - Resolution
Stars: ✭ 116 (+274.19%)
Mutual labels:  resize, png
Density Converter
A multi platform image density converting tool converting single or batches of images to Android, iOS, Windows or CSS specific formats and density versions given the source scale factor or width/height in dp. It has a graphical and command line interface and supports many image types (svg, psd, 9-patch, etc.) aswell as some lossless compressors like pngcrush.
Stars: ✭ 222 (+616.13%)
Mutual labels:  png, jpeg
StbSharp
C# port of the famous C framework
Stars: ✭ 62 (+100%)
Mutual labels:  png, jpeg
Imageprocessor
📷 A fluent wrapper around System.Drawing for the processing of image files.
Stars: ✭ 2,452 (+7809.68%)
Mutual labels:  png, jpeg
React Native Image Resizer
🗻 Resize local images with React Native
Stars: ✭ 1,161 (+3645.16%)
Mutual labels:  resize, jpeg
gfxprim
Open-source modular 2D bitmap graphics library with emphasis on speed and correctness.
Stars: ✭ 32 (+3.23%)
Mutual labels:  png, jpeg
imagecodecs
Image transformation, compression, and decompression codecs. Forked from https://pypi.org/project/imagecodecs
Stars: ✭ 56 (+80.65%)
Mutual labels:  png, jpeg
video thumbnail
This plugin generates thumbnail from video file or URL. It returns image in memory or writes into a file. It offers rich options to control the image format, resolution and quality. Supports iOS and Android.
Stars: ✭ 159 (+412.9%)
Mutual labels:  png, jpeg
alfred-imagemin
Alfred workflow - Minify images with Imagemin
Stars: ✭ 29 (-6.45%)
Mutual labels:  png, jpeg
HEIF
Mac OS X: Convert any image to HEIF/HEIC format
Stars: ✭ 58 (+87.1%)
Mutual labels:  png, jpeg
dom-to-image-more
Generates an image from a DOM node using HTML5 canvas
Stars: ✭ 231 (+645.16%)
Mutual labels:  png, jpeg
Grunt Image
Optimize PNG, JPEG, GIF, SVG images with grunt task.
Stars: ✭ 201 (+548.39%)
Mutual labels:  png, jpeg
Gulp Image
Optimize PNG, JPEG, GIF, SVG images with gulp task.
Stars: ✭ 213 (+587.1%)
Mutual labels:  png, jpeg
Gimage
A PHP library for easy image handling. 🖼
Stars: ✭ 148 (+377.42%)
Mutual labels:  resize, png
node-pdftocairo
📃 Node.js wrapper for pdftocairo - PDF to PNG/JPEG/TIFF/PDF/PS/EPS/SVG using cairo
Stars: ✭ 17 (-45.16%)
Mutual labels:  png, jpeg

pixl

pixl is a lightweight image processing library, written in C++11.

The main goals of this project are ease of use and performance. Image decoding/encoding is done by third party libraries. Currently supported image formats are: png and jpeg.

There are also APIs for C, Python and Go.

Usage

#include <pixl/pixl.h>

int main() {
	// Resize image
	auto image = pixl::read("path/to/image.png"); 
	image->resize(256, 256);
	pixl::write(image, "path/to/small_image.png");

	return 0;
}

Transformations & Filters

  • Resize
    • Nearest Neighbor
    • Bilinear
    • Bicubic
    • Lanczos2
    • Lanczos3
  • Flip
    • Horizontally
    • Vertically
  • Crop
  • Rotate
  • Grayscale
  • Invert
  • 3x3 Convolution Matrix

Dependencies

The following libraries must be on the system:

Additionally i use Catch for unit testing.

Building

You need CMake to build the library with all examples and tests.
You also need a C++11 compatible compiler.

While the code should work on all major platforms, the only supported OS so far is Linux. Pixl compiles successfully on:

  • Linux Mint 17.3
  • Arch Linux

Building on Linux

mkdir build && cd build
cmake ..
make

Packaging

Arch Linux

There is a working PKGBUILD in pkg/arch. Once this project leaves the alpha stage i will submit it to the AUR.

Debian/Ubuntu

TBD

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].