All Projects → flozz → yoga-image-optimizer

flozz / yoga-image-optimizer

Licence: GPL-3.0 License
A graphical tool to convert and optimize JPEG, PNG and WebP images (based on YOGA)

Programming Languages

python
139335 projects - #7 most used programming language
Batchfile
5799 projects
shell
77523 projects
Inno Setup
370 projects
Roff
2310 projects

Projects that are alternatives of or similar to yoga-image-optimizer

Tiny Site
图片优化
Stars: ✭ 65 (-23.53%)
Mutual labels:  png, optimization, jpeg, webp
Next Img
A Next.js plugin for embedding optimized images.
Stars: ✭ 149 (+75.29%)
Mutual labels:  png, jpeg, webp
create-optimize-images
♻️ Reusable, scalable, bash scripts to create and optimize images.
Stars: ✭ 39 (-54.12%)
Mutual labels:  png, jpeg, webp
imagor
Fast, Docker-ready image processing server in Go and libvips
Stars: ✭ 2,276 (+2577.65%)
Mutual labels:  png, jpeg, webp
Optimise Images
Batch image resizer, optimiser and profiler using ImageMagick convert, OptiPNG, JpegOptim and optional ZopfliPNG, Guetzli and MozJPEG.
Stars: ✭ 64 (-24.71%)
Mutual labels:  png, jpeg, webp
Bimg
Go package for fast high-level image processing powered by libvips C library
Stars: ✭ 1,394 (+1540%)
Mutual labels:  png, jpeg, webp
tiny
compress data for better performance
Stars: ✭ 21 (-75.29%)
Mutual labels:  png, webp, mozjpeg
Libvips
A fast image processing library with low memory needs.
Stars: ✭ 6,094 (+7069.41%)
Mutual labels:  png, jpeg, webp
Gulp Image
Optimize PNG, JPEG, GIF, SVG images with gulp task.
Stars: ✭ 213 (+150.59%)
Mutual labels:  png, optimization, jpeg
Imageprocessor
📷 A fluent wrapper around System.Drawing for the processing of image files.
Stars: ✭ 2,452 (+2784.71%)
Mutual labels:  png, jpeg, webp
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 (+87.06%)
Mutual labels:  png, jpeg, webp
gfxprim
Open-source modular 2D bitmap graphics library with emphasis on speed and correctness.
Stars: ✭ 32 (-62.35%)
Mutual labels:  png, jpeg, webp
Pixterm
Draw images in your ANSI terminal with true color
Stars: ✭ 782 (+820%)
Mutual labels:  png, jpeg, webp
Lilliput
Resize images and animated GIFs in Go
Stars: ✭ 1,690 (+1888.24%)
Mutual labels:  png, jpeg, webp
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+796.47%)
Mutual labels:  png, jpeg, webp
Metadata Extractor
Extracts Exif, IPTC, XMP, ICC and other metadata from image, video and audio files
Stars: ✭ 1,972 (+2220%)
Mutual labels:  png, jpeg, webp
Sdwebimage
Asynchronous image downloader with cache support as a UIImageView category
Stars: ✭ 23,928 (+28050.59%)
Mutual labels:  png, jpeg, webp
Optimizt
CLI image optimization tool
Stars: ✭ 594 (+598.82%)
Mutual labels:  png, jpeg, webp
Grunt Image
Optimize PNG, JPEG, GIF, SVG images with grunt task.
Stars: ✭ 201 (+136.47%)
Mutual labels:  png, optimization, jpeg
imagecodecs
Image transformation, compression, and decompression codecs. Forked from https://pypi.org/project/imagecodecs
Stars: ✭ 56 (-34.12%)
Mutual labels:  png, jpeg, webp

YOGA Image Optimizer

Github Discord Github Actions Black License

YOGA Image Optimizer is a graphical user interface for YOGA Image that converts and optimizes the size of JPEGs, PNGs and WebP image files.

YOGA Image Optimizer screenshot

Requirements

  • Python >= 3.7,
  • YOGA >= 1.1.0,
  • PyCairo,
  • PyGObject >= 3.36,

Install

ArchLinux

The package is available on AUR (yoga-image-optimizer):

Flatpak (Linux)

A Flatpak package is available on Flathub. This is currently the simplest way to install YOGA Image Optimizer on all major Linux distributions:

Linux (source)

First, you will need to install some dependencies on your system. On Debian and Ubuntu this can be achieved with the following command:

sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev libcairo2-dev pkg-config gir1.2-gtk-3.0

Then clone this repository and navigate to it:

git clone https://github.com/flozz/yoga-image-optimizer.git
cd yoga-image-optimizer

Then install YOGA Image Optimizer using pip:

sudo pip3 install .

Finally, you can install desktop file, icons and manual using the following command:

sudo ./linuxpkg/copy-data.sh /usr

Linux (PyPI)

First, you will need to install some dependencies on your system. On Debian and Ubuntu this can be achieved with the following command:

sudo apt install git build-essential python3 python3-dev python3-pip libgirepository1.0-dev libcairo2-dev pkg-config gir1.2-gtk-3.0

Then install YOGA Image Optimizer using pip:

sudo pip3 install yoga-image-optimizer

NOTE: Installing from PyPI will not install .desktop file and man page. You will not be able to run the software from your graphical app menu (GNOME Shell,...).

Windows

Download either the portable .zip version or the Windows installer from the release page:

Usage

To run YOGA Image Optimizer, just type the following command:

yoga-image-optimizer

You can also pass some image files to open:

yoga-image-optimizer  image1.png  image2.jpeg

Contributing

Questions

If you have any question, you can:

Bugs

If you found a bug, please open an issue on Github with as much information as possible:

  • What is your operating system / Linux distribution (and its version),
  • How you installed the software,
  • All the logs and message outputted by the software,
  • ...

Pull Requests

Please consider filing a bug before starting to work on a new feature. This will allow us to discuss the best way to do it. This is of course not necessary if you just want to fix some typo or small errors in the code.

Please note that your code must pass tests and follow the coding style defined by the pep8. Flake8 and Black are used on this project to enforce coding style.

Translating YOGA Image Optimizer

If the software is not available in your language, you can help translating it.

To translate YOGA Image Optimizer, you can submit your translations using a Pull Request on Github. Do not forget to add your name as the translation of the translator-credits key (one name per line, e-mail is optional):

#: yoga_image_optimizer/about_dialog.py:38
msgid "translator-credits"
msgstr ""
"John DOE\n"
"Other TRANSLATOR <[email protected]>\n"

Running The Tests

You will first have to install nox:

pip3 install nox

Then you can check for lint error:

nox --session lint

or run the tests:

nox --session test

To run the tests only for a specific Python version, you can use following commands (the corresponding Python interpreter must be installed on your machine):

nox --session test-3.7
nox --session test-3.8
nox --session test-3.9

You can also fix automatically coding style errors with:

nox -s black_fix

Extract, Update or Build Translations

You will first have to install nox:

pip3 install nox

To extract messages and update locales run:

nox --session locales_update

To compile locales, run:

nox --session locales_compile

NOTE: you will need to have xgettext, msgmerge and msgfmt executable installed on your system to run the above commands. On Debian / Ubuntu, they can be installed with the following command:

sudo apt install gettext

Supporting this project

Wanna support this project?

Changelog

  • [NEXT] (changes on master but not released yet):
    • Nothing yet
  • v1.1.1:
    • Fix the abnormal amount of processes created (and not cleaned) when starting an optimization (#13)
  • v1.1.0:
    • YOGA updated to v1.1.0:
      • Honor the JPEG orientation EXIF tag
      • JPEG optimization improved: up to 7.3 % of additional size reduction since previous version.
      • YOGA can no more output a PNG larger than the input one when performing a PNG to PNG optimization
    • Settings were added:
      • Theme selection / dark theme preference
      • Number of threads used to optimize images
      • Setting the default output locations / name or pattern of output files
    • "Optimize" and "Stop" buttons behaviour improved:
      • The "Stop" button now stops the running optimizations and not only the pending ones
      • Display a "Canceled" status on non-optimized image while the "Stop" button is clicked
      • Do not optimize again images that have already been optimized
    • Allow to resize images (downscale only, preserve ratio)
    • Multiselection: Multiple files can now be selected and their parameters can be edited all at once
    • Bug fix / improvements:
      • Do not allow to remove images with the <Del> key while an optimization is in progress
      • Fix image previews: no more ugly thumbnails with indexed images
      • Image previews now honor the JPEG orientation EXIF tag
    • Windows specific changes:
      • Use the Adwaita theme by default on Windows as the Windows10 GTK theme looks buggy
    • Translations udpated:
      • French
      • Italian (partial)
      • Occitan
      • Turkish (partial)
    • NOTE for packagers:
  • v1.0.1:
    • Fix PyPI packages
    • NOTE: no new release for Windows as nothing changed
  • v1.0.0:
    • Fix [-] button do not remove selected image
    • Update site URL
  • v0.99.2 (beta):
    • Fix package data not installed while installing with pip (#3)
    • NOTE: no new release for Windows as nothing changed
  • v0.99.1 (beta):
    • Fix site URL in setup.py
    • Fix version number
  • v0.99.0 (beta):
    • Initial release
    • Linux and Windows support
    • Optimizes PNG, JPEG and WebP image formats
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].