cmdpxl: a totally practical command-line image editor

Overview

cmdpxl: a totally practical command-line image editor

ezgif com-gif-maker (2)

Features

cmdpxl has many exciting functionalities, including

  • Editing pixels one at a time!
  • Saving images!
  • An undo function!
  • A fill tool!
  • Cool image filters!

Installation

Install the package with:

pip install cmdpxl

Usage

Run with cmdpxl.

You can also specify the file path and resolution with cli, e.g., creating a new 10x10 image:

cmdpxl -f new_image.png -res 10,10

To get the full list of options:

$ cmdpxl --help
Usage: cmdpxl [OPTIONS]

Options:
  -f, --filepath PATH      Path for the file you want to open
  -res, --resolution TEXT  Image height and width separated by a comma, e.g.
                           10,10
  --help                   Show this message and exit.
  

Why?

Good question.

Comments
  • Broken on Ubuntu

    Broken on Ubuntu

    I tried loading this on Ubuntu 20.04 and get the following result in my terminal. I tried with gnome-terminal and kitty terminal and both had similar results. Not sure if there's something I can do to debug.

    The flashes and partial menu showing is from when I push enter on my keyboard.

    cmdpxl

    opened by rothgar 5
  • Cli, split code, refactoring/reformatting

    Cli, split code, refactoring/reformatting

    Not sure you'll want to merge it since it's a huge PR, but here's what I did:

    • Put the code in a separate folder in preparation to create setup.py later and turn it into a PyPI package.
    • I put getch, clear, hide_cursor and show_cursor in a separate file called cmdpxl_terminal_io to clear up main.py.
    • Made the file cmdpxl_datatypes with the classes Color and Pos. In main.py, every list of 3 ints you were using to refer to rgb values is now a Color object, making the code easier to understand and document. Every reference to an index like color[0] are now color.r, color.g or color.b, also improving readability. Same thing was done to positions with Pos.
    • Added type hints to most functions.
    • Code was reformatted using black to improve readability.
    • Added cli support using click, which is simpler and easier to understand than argv.
    opened by douglascdev 3
  • Update main.py

    Update main.py

    added --clean flag to have the screen refresh on every input: it makes it a bit flashy, but (at least on my linux terminal), it's the only way not to have a partially drawn image on the right of the screen.

    also now it uses the getch module because yes

    opened by umanochiocciola 2
  • Installable project package

    Installable project package

    PyPI package is pretty much ready :)

    • Added Github's default Python gitignores to avoid including files generated by setup and other cache files in VCS
    • Renamed datatypes and terminal_io to remove package name from file names(both are now imported in __init__.py and can be referenced as cmdpxl.module in code).
    • Project package setup almost ready(missing your email)
    • Described new installation and usage process in Readme(referencing my branch for now)

    Still to do before publication:

    • Add your email to author_email in setup.py.
    • Change install command in the Readme to reference the PyPI package name instead of my git branch.
    • Check if anything else is missing, merge to main branch and publish package.
    opened by douglascdev 1
  • Made cmdpxl as package and renamed to pixely

    Made cmdpxl as package and renamed to pixely

    • Refactor of code and uses class and some methods are isolated in different files.
    • CLI more modular, not inside the code itself, only need to be adapted from the Application class.
    • Renamed to pixely, this can be changed as original
    opened by pomaretta 1
  • Add requirements.txt for slightly more standardized installation, updated README for it, and added .gitignore for venv users.

    Add requirements.txt for slightly more standardized installation, updated README for it, and added .gitignore for venv users.

    Hi there, saw your project on Reddit. This is a pretty nice! I've been looking for a nice open-source pixel art editor, so I'm happy I came across something like this.

    This PR contains three changes:

    • A requirements.txt for more standardized setup. What is typical in projects (if they are not pip-installable) is that the dependencies for a project are listed in a requirements.txt file, which is then used by running pip3 install -r requirements.txt.
    • The README has been updated for the above point.
    • A .gitignore has been added for users who use Python virtual environments. I typically use this so that I can have more reproducible environments when I collaborate on projects. You can see what GitHub officially posts as a Python gitignore, but this is overkill IMO.

    Let me know if you want to make any changes, or if some of these changes are unnecessary. I'll drop the corresponding commits and force-push to this branch.

    By the way, I'm running this on Ubuntu 20.04.

    opened by sahansk2 0
  • Add AUR instructions

    Add AUR instructions

    I've created a package for cmdpxl in the Arch User Repository. https://aur.archlinux.org/packages/cmdpxl-git/

    This pull request adds the necessary command to the readme for installing cmdpxl-git from the AUR as an alternative to using pip.

    opened by nrobinson2000 0
Owner
Jieruei Chang
H. sapiens on third planet of Sol
Jieruei Chang
TRREASURE_IMAGE is python lib by which you can hide anything in a .jpg image with Command-Line Interface[cli] feature

TRREASURE_IMAGE TRREASURE_IMAGE is a python third-party library with Command-Line Interface[cli] feature. Table of Contents General Info Python librar

Fatin Shadab 3 Jun 7, 2022
Next-generation of the non-destructive, node-based 2D image graphics editor

Non-destructive, node-based 2D image graphics editor written in Python, focused on simplicity, speed, elegance, and usability

Gimel Studio 238 Dec 30, 2022
GTK and Python based, simple multiple image editor tool

System Monitoring Center GTK3 and Python3 based, simple multiple image editor tool. Note: Development of this application is not completed yet. The ap

Hakan Dündar 1 Feb 2, 2022
Command line utility for converting images to seamless tiles

img2texture Command line utility for converting images to seamless tiles. The resulting tiles can be used as textures in games, compositing and 3D mod

Artёm IG 24 Dec 26, 2022
💯 Watermark your images with one line of command

Watermarker ?? Watermark your images with one line of command ?? $ pip3 install

Orhan Emre Dikicigil 3 May 1, 2022
sK1 2.0 cross-platform vector graphics editor

sK1 2.0 sK1 2.0 is a cross-platform open source vector graphics editor similar to CorelDRAW, Adobe Illustrator, or Freehand. sK1 is oriented for prepr

sK1 Project 238 Dec 4, 2022
PyPixelArt - A keyboard-centered pixel editor

PyPixelArt - A keyboard-centered pixel editor The idea behind PyPixelArt is uniting: a cmdpxl inspired pixel image editor applied to pixel art. vim 's

Douglas 18 Nov 14, 2022
a lite weight photo editor written in python for day to day photo editing!

GNU-PhotoShop A lite weight Photo editing Program (currently CLI only) written in python3 for day to day photo editing. Disclaimer : Currently we don'

Kunal Sharma 5 May 30, 2022
Convert the SVG code to PNG and replace the line by a call to the image in markdown

Convert the SVG code to PNG and replace the line by a call to the image in markdown

null 6 Sep 6, 2022
Image enhancing model for making a blurred image to be somehow clearer than before

This is a very small prject which helps in enhancing the images by taking a Input images. This project has many features like detcting the faces and enhaning the faces itself and also a feature which enhances the whole image

null 3 Dec 3, 2021
Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine.

img2dataset Easily turn large sets of image urls to an image dataset. Can download, resize and package 100M urls in 20h on one machine. Also supports

Romain Beaumont 1.4k Jan 1, 2023
Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors

NanoImgPro Nanosensor Image Processor (NanoImgPro), a python-based image analysis tool for dopamine nanosensors NanoImgPro.py contains the main class

null 1 Mar 2, 2022
A pure python implementation of the GIMP XCF image format. Use this to interact with GIMP image formats

Pure Python implementation of the GIMP image formats (.xcf projects as well as brushes, patterns, etc)

FHPyhtonUtils 8 Dec 30, 2022
Image-Viewer is a Windows image viewer based on Python 3.

Image-Viewer Hi! Image-Viewer is a Windows image viewer based on Python 3. Using You must download Image-Viewer.exe from the root of the repository. T

null 2 Apr 18, 2022
Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Python

AICSImageIO Image Reading, Metadata Conversion, and Image Writing for Microscopy Images in Pure Python Features Supports reading metadata and imaging

Allen Institute for Cell Science - Modeling 137 Dec 14, 2022
Seaborn-image is a Python image visualization library based on matplotlib and provides a high-level API to draw attractive and informative images quickly and effectively.

seaborn-image: image data visualization Description Seaborn-image is a Python image visualization library based on matplotlib and provides a high-leve

null 48 Jan 5, 2023
This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specialized data structure called VP-Tree which makes searching an image on a dataset of 100Ks almost instantanious

Offline Reverse Image Search Overview This app finds duplicate to near duplicate images by generating a hash value for each image stored with a specia

null 53 Nov 15, 2022
Quickly 'anonymize' all people in an image. This script will put a black bar over all eye-pairs in an image

Face-Detacher Quickly 'anonymize' all people in an image. This script will put a black bar over all eye-pairs in an image This is a small python scrip

Don Cato 1 Oct 29, 2021
Fast Image Retrieval is an open source image retrieval framework

Fast Image Retrieval is an open source image retrieval framework release by Center of Image and Signal Processing Lab (CISiP Lab), Universiti Malaya. This framework implements most of the major binary hashing methods, together with both popular backbone networks and public datasets.

CISiP Lab 39 Nov 25, 2022