Pixelfix
Pixelfix changes the color of transparent pixels to match the color of the nearest non-transparent pixel. Transparent pixels stay transparent, but when resized and blended with non-transparent pixels they won’t cause dark borders.
How it works
Here are screenshots of images in Roblox that have been scaled down, showing with/without Pixelfix and with/without transparency:
Since the transparent pixels are no longer black, they no longer make edges of the image black when resized.
How to use
The ideal way to use Pixelfix is to make an executable file and either drag images to it or use the “Send To” functionality of Windows.
You can grab pre-built executable files from the Github for Pixelfix.
Alternatively, you can build your own by...
- Downloading Node JS
- Downloading the git repo
- Running
npm install
in the repo directory - Installing pkg using
npm install -g pkg
- Running pkg with
pkg -o pixelfix -t node10-win-x64,node10-win-x86,node10-macos-x64,node10-linux-x64 .\index.js
Once you have a pixelfix executable, you can drag images onto it to fix them. The fixed images are saved over the existing images.
You can also add a shortcut to your Send To menu:
Instructions for Send To menu
- Open
shell:sendto
in the File Explorer
- This will open up the Send To directory, where you can place a shortcut to pixelfix
Side notes
I wrote this in Node JS because it was super easy and I used this technique in a previous project. Something written in a more lightweight, low level language like Rust would be ideal, but would also take more time. Anyone is free to take up the idea and rewrite it if you don’t like Node!
You don’t have to package Pixelfix up as an exe to use it. You can use it from the shell with node
, but it’s not near as convenient.
Related threads
Here’s a fix by Quenty, but it requires multiple steps per image through Gimp or Photoshop.
You can find a ton of threads about it at this search, such as this thread I made: