Giter VIP home page Giter VIP logo

fotokilof's Introduction

FotoKilof - GUI for ImageMagick

GUI for the most used (by me) ImageMagick functionality for processing pictures.

Screenshots

Linux

Screenshot

Linux dark mode

Screenshot

Windows

Screenshot Windows

macOS compose

Screenshot Windows

Graphics conversion

  • scaling/resize,
  • crop,
  • text annotation, inside or outside of picture (mems generator),
  • border around picture,
  • rotation,
  • mirroring (vertical or horizontal)
  • black-white
  • sepia - only with Wand and ImageMagick,
  • contrast increase/decrease or normalize or histogram stretching,
  • color auto-level or equalize,
  • vignette
  • adding logo image on picture,
  • compose two image in one picture
  • file formats: JPG, PNG, TIFF, SVG
  • format conversion into JPG, PNG, TIFF.

Functionality:

  • processing JPG, PNG, SVG and TIFF images,
  • processing picture in the fly, originals are safe,
  • processing single file or whole directory,
  • take screenshot (Linux) or get picture from clipboard (Windows and MacOS) and use it as source picture,
  • after processing results is copied into clipboard (Windows),
  • display selected tools,
  • tools selection,
  • preview orignal and result,
  • predefined rotation: 90, 180 and 270 degree or custom,
  • crop selection via click on preview or coordinates,
  • crop coordinates:
    • two corners (upper left and lower right),
    • upper left corner and width plus height,
    • gravity, width plus height plus offset,
  • text: color, font and size selection, background, rotation,
  • text position:
    • outside: bottom, left/center/right
    • inside: by gravity or by position and rotate
  • customized sepia - only with Wand and ImageMagick,
  • equalize by channel,
  • contrast between -5 and +5,
  • customized contrast stretching,
  • vignette:
    • can be sharp or blured,
    • corners can be filled by selected color,
    • offset in both direction
  • logo position by gravity, size and offset,
  • compose:
    • add picture on right side
    • add picture on bottom
    • autoresize picture
    • fill color if no autoresize
  • fast file navigation: First, Prev, Next, Last or keys: Home, PgUp, PgDn, End,
  • command editor: possible to use ImageMagick commands for convert: eg. -gaussian-blur 10x10 or -monochrome, etc.
  • dark and light mode

Processing

Is possible to run one conversion or all selected conversion. Processing order for all selected conversion:

  • crop,
  • mirror,
  • black-white,
  • sepia - only with Wand and ImageMagick,
  • contrast,
  • color normalize,
  • vignette - only with Wand and ImageMagick,
  • rotate,
  • border,
  • resize,
  • text - only with Wand and ImageMagick,
  • logo - only with Wand and ImageMagick.

Processed is always on clone of picture in memory. Originals are not touched.

User manual, a bit outdated

Available translations

Available: Bulgarian, English, German, Indonesian, Polish and Turkish.


Install and run

Requirements

  • Windows, Linux, MacOS X, BSD,
  • FullHD screen for comfort work,
  • ImageMagick, remember to add path into %PATH% environment variable, enable install libraries!
  • Python3.9+, remember to add path into %PATH% environment variable.

Install

Linux

Install requirements:

apt-get install python3-pip python3-tk python3-wand imagemagick

Install as PyPi package by PIP:

python3 -m pip install fotokilof

Windows

Download and install requirements:

  • Python3.9+ - add path into %PATH% environment variable,
  • ImageMagick - add path into %PATH% environment variable, enable install libraries!
python -m pip install pywin32 fotokilof

MacOS

Install requirements:

brew install imagemagick [email protected] [email protected]

For Apple Silicon (M1, M2, M3) based Macs, the default Homebrew install directory differs from that on Homebrew Intel installs. The following environment variable allows FotoKilof to correctly locate the Homebrew-installed ImageMagick on Apple Silicon Macs:

export MAGICK_HOME=/opt/homebrew

Install as PyPi package by PIP:

python3 -m pip install fotokilof

FreeBSD

FotoKilof is available via ports

Upgrade

python3 -m pip install --upgrade fotokilof

Run

fotokilof

or

python -m fotokilof

Dark or Light mode

Press F2 to toggle from Light to Dark or opposite.


Thanks

  • Friends - some ideas and testing,
  • Max von Forell - German translation,
  • Bozhidar Kirev - Bulgarian translation,
  • Alexander Ignatov - Bulgarian translation,
  • Afif Hendrawan - Indonesian translation,
  • Sebastian Hiebl - python packaging,
  • Matt Sephton - ideas for packing gui,
  • emsspree - update german translation, jpeg,
  • Olm - testing on Windows,
  • Carbene Hu - idea to fix issue
  • Mert Cobanov - Turkish translation
  • Giancarlo Dessì - Italian translation, Slackware package
  • Danny (dchenz) - logging in proper way

Star History

Star History Chart


Powered by

Python powered Imagemagick Wand ttkbootstrap

fotokilof's People

Contributors

bastidest avatar cobanov avatar dchenz avatar emsspree avatar giandex avatar hndr91 avatar mvforell avatar team-tl avatar timhenrion avatar yalishanda42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fotokilof's Issues

Progress indicator

wariants for implementation

  1. Progressbar for single picture conversion
  2. n of m - for mass conversion, plus progressbar

Security - parsing every GUI entry

Check Entry widgets and ini entries against wrong data or security issues
It can be done via function used for parsing entries from ini

Localization - GUI

Welcome for translation

FotoKilof is nice gui for ImageMagick, with functionality:

  • crop,
  • rotate,
  • resize,
  • contrast,
  • black-white/sepia,
  • adding text, logo and frame.

If you have a 15minutes free time

Welcome to translate fotokilof.pot into your language. Need update:

  • - English
  • - Polish,
  • - German,
  • - Bulgarian
  • - Indonesian.

Windows - download ImageMagick

Under Windows:

If FotoKilof cannot find command convert, mogrify and compose, should:

  • disable buttons
  • ask for dowloading an ImageMagick
  • download zip version
  • unzip
  • check again
  • enable buttons

Security - parsing every INI entry

parse every entry if is in range
it should be done in ini_read* functions
may be to add function to check check(range, default, value), and return corect value (value or default)

Documentation

  • Source format: MarkDown
  • Output format: html and pdf
  • - conversion description from ImageMagick documentation
  • - may be to add some picture as presentation of result conversion

conversion as plugins

conversion as external modules, it means to open to write own conversion using ImageMagick

conversion - don't processing whole directory under WIndows

Describe the bug
don't processing whole directory under Windows.

To Reproduce

  1. select picture
  2. select at least one tool
  3. select diretory
  4. press "Apply all"

Expected behavior
work properly

Desktop (please complete the following information):

  • OS: Windows only
  • FotoKilof 2.9.1
  • only if binaries are in local directory, not in %PATH%

dist - linux packages

  • - Slackware - tgz
  • - Ubuntu - deb
  • - OpenSUSE - rpm
  • - CentOS - rpm
  • - Arch/Aurox/Manjaro - aur

GUI - tooltips everywhere

instead help use toolTip for every widget!

  • main menu
  • tools menu
  • preview
  • scaling
  • crop
  • text
  • Rotate
  • Border
  • Black-white
  • Contrast
  • Normalize
  • Mirror
  • Logo

GUI - immediately update preview with crop

If we deselect crop - preview should be renegerated without yellow rectangle
if we select type of crop or change data in intry fields, preview should be regenerated again

conversion - Annotate

text annotate, faster than draw text
As option for adding text.

  1. In one LabelFrame will be radiobuttons: inside, outside
  2. Common fields:
  • text
  • offset dx,dy
  • color
  • background
  • gravity
  1. outside doesn't work with mogrify (crop)

Windows - installer

NSIS installer with installation of imagemagick or built-in imagemagick library (to check licence)

workaround problem with spaces in path

Problem

Every Python under Linux has own vision about re.escape :-(

OS:

Windows - solved long time ago
Linux - problem appear again on SUSE

Solution

I think full filename has to be:

  1. extracted extension
  2. splitted by separator (/)
  3. escape every part
  4. joined every part together again

Error catching

More error catching, mainly during start if something is wrong or missing.

Do do:

  • font list under Windows when is used Graphics Magick

Never ending story

GUI - problem to import tkcolorpicker under MacOSX

Describe the bug
Problem to import tkcolorpicker under MacOSX

To Reproduce
During start appear error message about tkcolorpicker

Expected behavior

  1. try=except - for disable tkcolorpicker if is unavailable
  2. is unavailable disable choose color buttons

Desktop (please complete the following information):

  • OS: MacOSX
  • Version 2.9.1

Additional context
Problem to install tkcolorpicker under MacOSX. I don't know why

conversion - ImageMagick and GraphicsMagick

  • make possibility to choose ImageMagick or GraphicMagick, and selection of path to convert and mogrify
  • I think entry in ini should be enough, later configuration i menu/notebook

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.