Giter Site home page Giter Site logo

raysan5 / riconpacker Goto Github PK

View Code? Open in Web Editor NEW
41.0 2.0 5.0 1.54 MB

A simple and easy-to-use icons packer and extractor

Home Page: https://raylibtech.itch.io/riconpacker

License: zlib License

C 94.30% HTML 1.34% Makefile 4.36%
icon-pack icons iconset raygui raylib toolkit

riconpacker's Introduction

rIconPacker

A simple and easy-to-use icons packer and extractor.

What can I do with rIconPacker?

Pack/Unpack icon files, load .ico/.icns files and view all contained images, load individual .bmp/.png/.qoi images to create new icons. Select desired platform for automatic icon-sizes template, provide required icons or generate them from loaded sizes.

Create icon poems! Every icon image support up to 47 text characters for embedding. Add icons poems that get exported with the icon/images and share them with your friends.

Features

  • Icon template platforms: Windows, macOS, Favicon, Android, iOS
  • Pack your icon images into icon files (.ico/icns)
  • Define custom text data per icon image: icon poems
  • Generate missing icon sizes automatically
  • Input image formats supported: .png, .bmp, .qoi
  • Extract icon images as .png files
  • Multiple GUI styles with support for custom ones (.rgs)
  • Command-line support for icons packing and extraction
  • Command-line supports configurable image scaling algorithms
  • Completely portable (single-file, no-dependencies)

Basic Usage

Drag & drop your .ico/.icns/.png files to unpack/add the different available image sizes, missing sizes could also be generated (using biggest available size).

Custom image text data can be added per icon image and it will be embedded in the .ico/.icns/.png file, useful for copyright data or nice icon-poems.

rIconPacker can be used from its desktop UI application and also from its command-line interface.

Keyboard/Mouse Shortcuts

  • F1 - Show Help window
  • F2 - Show About window
  • F3 - Show Sponsor window

File Options

  • LCTRL + N - New icon project
  • LCTRL + O - Open icon/image file (.ico/.icns/.png)
  • LCTRL + S - Save icon file (.ico/.icns/.png)
  • LCTRL + E - Export icon/image file(s)

Tool Options

  • DELETE - Remove selected icon image
  • LCTRL + G - Generate selected icon image
  • LCTRL + SPACE - Show icon-poem (if available)

Command-line

rIconPacker desktop version comes with command-line support for batch conversion. For usage help:

riconpacker.exe --help

  USAGE:\n
    > riconpacker [--help] --input <file01.ext>,[file02.ext],... [--output <filename.ico>]
                  [--out-sizes <size01>,[size02],...] [--out-platform <value>] [--scale-algorythm <value>]
                  [--extract-size <size01>,[size02],...] [--extract-all]

  OPTIONS:\n
    -h, --help                      : Show tool version and command line usage help
    -i, --input <file01.ext>,[file02.ext],...
                                    : Define input file(s). Comma separated for multiple files.
                                      Supported extensions: .ico, .icns, .png, .bmp, .qoi
    -o, --output <filename.ico>     : Define output icon file.
                                      NOTE: If not specified, defaults to: output.ico
    -op, --out-platform <value>     : Define out sizes by platform scheme.
                                      Supported values:
                                          0 - Windows (Sizes: 256, 128, 96, 64, 48, 32, 24, 16)
                                          1 - macOS (Sizes: 1024, 512, 256, 128, 64, 48, 32, 16)
                                          2 - favicon (Sizes: 228, 152, 144, 120, 96, 72, 64, 32, 24, 16)
                                          3 - Android (Sizes: 192, 144, 96, 72, 64, 48, 36, 32, 24, 16)
                                          4 - iOS (Sizes: 180, 152, 120, 87, 80, 76, 58, 40, 29)
                                      NOTE: If not specified, any icon size can be generated
    -os, --out-sizes <size01>,[size02],...
                                    : Define output sizes for the output.
                                      If output size is not provided as input, it's generated.
                                      NOTE: Generated icons are always squared.
    -sa, --scale-algorythm <value>  : Define the algorythm used to scale images.
                                      Supported values:
                                          1 - Nearest-neighbor scaling algorythm
                                          2 - Bicubic scaling algorythm (default)
    -xs, --extract-size <size01>,[size02],...
                                    : Extract image sizes from input (if size is available)
                                      NOTE: Exported images name: output_{size}.png
    -xa, --extract-all              : Extract all images from icon.
                                      NOTE: Exported images naming: output_{size}.png,...

Technologies

This tool has been created using the following open-source technologies:

  • raylib - A simple and easy-to-use library to enjoy videogames programming
  • raygui - A simple and easy-to-use immediate-mode-gui library
  • rpng - A simple and easy-to-use library to library to manage png chunks
  • tinyfiledialogs - File dialogs for desktop platforms

Handmade Software

rIconPacker is handmade software, it has been meticulously developed using the C programming language, with great attention put on each line of code written. This approach usually results in highly optimized and efficient code, but it is also more time-consuming and require a higher level of technical skills. The result is great performance and small memory footprint.

rIconpacker is self-contained in a single-executable of about 1 MB, it could fit on a floppy disk.

rIconpacker could be customized on demand for corporate users, if your company needs a custom version, just get in touch: ray[at]raylibtech.com

Issues & Feedback

You can report tool issues and feedback at https://github.com/raylibtech/rtools

License

The use of rIconPacker distributed desktop application is subject to the terms and conditions of the End User License Agreement. By using rIconPacker, the user agrees to be bound by the terms of the EULA.

Check included End User License Agreement document for details (EULA.txt).

rIconPacker source code is distributed as open source, licensed under an unmodified zlib/libpng license.

rIconPacker binaries are completely free for anyone willing to compile it directly from sources.

In any case, consider some donation to help the author keep working on useful software development.

Copyright (c) 2018-2024 raylib technologies (@raylibtech) | Ramon Santamaria (@raysan5)

riconpacker's People

Contributors

fishbowlforever avatar raysan5 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

Watchers

 avatar  avatar

riconpacker's Issues

Load/Save file dialogs

Add file dialogs to:

  • Load Icon (.ico) or Image (.png...) files
  • Save Icon (.ico) or Image (.png...) files

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.