Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readme and yml updates #14

Closed
wants to merge 38 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
df6ca2c
adding images
joachimbbp Mar 13, 2024
7d404a0
Update .DS_Store file
joachimbbp Mar 13, 2024
a445f9e
readme updates 19h25
joachimbbp Mar 13, 2024
c9e9a66
Remove unused workflow file and update dependencies
joachimbbp Mar 13, 2024
f0a38a8
removed DS store
joachimbbp Mar 13, 2024
ccf4a07
GPT generated CI test
joachimbbp Mar 14, 2024
c876f09
Pierre's version for linux install (apt-get install vips)
joachimbbp Mar 14, 2024
409fcc1
human generated linux, robot generated windows CI
joachimbbp Mar 14, 2024
1b38544
no windows
joachimbbp Mar 14, 2024
23f2147
gpt assisted update for linux
joachimbbp Mar 14, 2024
a106eed
adding header files
joachimbbp Mar 14, 2024
5afa857
More dependencies added linux
joachimbbp Mar 14, 2024
6489a27
typo fixed
joachimbbp Mar 14, 2024
b7fb239
added libxrandr-dev
joachimbbp Mar 14, 2024
87f81f2
even more header files
joachimbbp Mar 14, 2024
df9e258
Update Spritefire README.md with implementation details and alpha note
joachimbbp Mar 14, 2024
3181129
Update README.md with implementation details and instructions for fir…
joachimbbp Mar 14, 2024
e9a9d53
Update README.md
joachimbbp Mar 14, 2024
6457080
Update README.md
joachimbbp Mar 14, 2024
0a28ab2
Update README.md
joachimbbp Mar 14, 2024
a9d9170
Update README.md
joachimbbp Mar 14, 2024
d2aedb3
Update README.md
joachimbbp Mar 14, 2024
833ad2e
Update README.md
joachimbbp Mar 15, 2024
30a5c41
Update README.md
joachimbbp Mar 15, 2024
efe0d09
Update README.md
joachimbbp Mar 15, 2024
01caaaa
Update README.md
joachimbbp Mar 15, 2024
6e1c7af
Add files via upload
joachimbbp Mar 15, 2024
e02ba12
Update README.md
joachimbbp Mar 15, 2024
b33627c
Add custom continuous integration tests and build for Windows
joachimbbp Mar 15, 2024
811363d
Update vips installation in build workflow
joachimbbp Mar 15, 2024
02ef00d
Update libvips installation URL
joachimbbp Mar 15, 2024
80cccef
Update libvips installation process
joachimbbp Mar 15, 2024
ec3358b
Add concurrency settings to build workflow***
joachimbbp Mar 15, 2024
1573f5e
Update libvips download link
joachimbbp Mar 15, 2024
766d62e
Forgetting the windows testing for now
joachimbbp Mar 15, 2024
f43d78c
Update README.md
joachimbbp Mar 15, 2024
dcbd29c
Update README.md
joachimbbp Mar 15, 2024
a3a7d06
Update .gitignore file
joachimbbp Mar 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update README.md
joachimbbp authored Mar 14, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit e9a9d538b2adda58cbac61a661e2469e7225dd96
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
![A still image from Spritefire. Input Image Source: pexels](readme_assets/inverted_alpha.png)
# Spritefire
Converts image sequences into a mosaic of smaller images.

Spritefire is a program which converts image sequences into a mosaic of sprites. It does this by matching each “tile” with the sprite that has the closest color. By default, those sprites are Noto Emojis (found in the asset folder), but you could build your own library of sprites if you wish.

Spritefire exports .png files with an alpha layer, allowing for more possibilities when compositing.
Spritefire is a simple graphics program which converts images and videos into mosaics of many tiny images.

# Implementation
![Taking advantage of the alpha channel to do some cool compositing. Input Image Source: Joachim Pfefferkorn](readme_assets/eye.png)
Spritefire is a program which converts image sequences into a mosaic of sprites. It does this by matching each “tile” with the sprite that has the closest color. By default, those sprites are Noto Emojis (found in the asset folder), but you could build your own library of sprites if you wish.
## Overview
Before creating a mosaic, Spritefire must generate a database of the average color for each sprite. This average is determined by adding all the red, green, and blue values in each pixel and then dividing each channel by the number of pixels in the sprite.
After the user determines desired size of the tiles, the source image is resized so that there is only one pixel for each tile. The program then iterates through each pixel in the image, matching it to the closest sprite. These matches are saved to a temporary `canvas`, which is used by the `draw` function to render and save the image.
@@ -74,7 +70,7 @@ If you wish to generate all possible sprite sizes you can do so with `./main bat
The AE file included provides a template for switching quickly between resolutions. It should link automatically to sequences generated with the `full_full_offline_test`

# Roadmap
![Input Image Source: pexels](readme_assets/resolutions.jpg)
![Input Image Source: pexels](readme_assets/15_roadmap.png)
## Up Next:
### Front-end
- [ ] User friendly binary file that anyone can use without having to compile the source code themselves
@@ -96,4 +92,6 @@ Takes in a folder of images and generates appropriately sized sprites of specifi
### Read Sprite Alpha As
Alpha channels in sprites can be read as either red, blue, green, luma, or black, so you can composite with different background colors.
### GUI
Adjust settings (such as alpha compensation) in a raylib gui. You should be able to run everything through this new interface.
Adjust settings (such as alpha compensation) in a raylib gui. You should be able to run everything through this new interface.

![A still image from Spritefire. Input Image Source: pexels](readme_assets/inverted_alpha.png)