Code Monkey home page Code Monkey logo

stefansl / image-shrinker Goto Github PK

View Code? Open in Web Editor NEW
299.0 9.0 32.0 214.53 MB

App for macOS. Minify your images and graphics with just one drop. Autorenamed in the same place where it comes from. Immediately!

Home Page: https://image-shrinker.com

License: Creative Commons Zero v1.0 Universal

HTML 17.78% JavaScript 82.22%
minify-images minification shrink-images tiny-image compressor image-compression image-minify electron-app pngquant svgo

image-shrinker's Introduction

Image Shrinker

Image Shrinker is a tool to minify images and graphics using the best available libraries for image processing: pngquant, mozjpg, SVGO and Gifsicle. Built with web technologies in Electron

Screenrecording Imageshrinker

How to use

Drag your image file onto the Image Shrinker window and it will saved in the same or in a predefined folder as reduced image. The original graphic will be not replaced.

Download and Installation on macOS

Download Image Shrinker here:
https://github.com/stefansl/image-shrinker/releases/download/v1.6.5/image-shrinker-1.6.5.dmg

Unpack and copy or drag the app into your macOS application folder. For uninstalling, just drop the app into the bin.

Build your own

Get the repo

git clone https://github.com/stefansl/image-shrinker.git

Install dependencies

$ cd image-shrinker
$ npm install

Generate your macOS package

electron-builder build --mac

Generate your Linux package

electron-builder build --linux

Generate your Windows package

electron-builder build --win

Notice: I did not test Windows and Linux. Feel free to commit a pull request.

Credits

Thank you, guys!

image-shrinker's People

Contributors

jadedblueeyes avatar jancborchardt avatar jayakornk avatar stefansl 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  avatar

image-shrinker's Issues

Settings are ignored / 1.6.2

Hey Stefan,
First of all, thanks for your great app! :D

As I downloaded the latest Version of Image Shrinker to minify my website images I now have discovered an issue, which I can't get solved, even after a clean install of the app.

Issue:
Settings in the "Preferences" are ignored.
"Minified" folder is created after I drag and drop my JPGs on "Image Shrinker".
Also a ".min suffix" is added to all the files.

My settings:

  • "Save shrinked files in same folder = activated
  • "Add .min suffix" = deactivated
  • "Add subfolder "minified"" = deactivated

OS: macOS High Sierra – 10.13.6

image_shrinker-settings

Add "resize" function

When shrinking, resize to 000px X 000px would be helpful.

EDIT:
eather max_width or max_height would be enough.

Some warnings during npm install

During npm install at the end I had some warnings. All seemed optional, but would be nice to clean that up if possible? Done on Ubuntu 17.10 64-bit:

…

> [email protected] postinstall /home/jan/image-shrinker/node_modules/pngquant-bin
> node lib/install.js

  ⚠ The `/home/jan/image-shrinker/node_modules/pngquant-bin/vendor/pngquant` binary doesn't seem to work correctly
  ⚠ pngquant pre-build test failed
  ℹ compiling from source
  ✔ pngquant pre-build test passed successfully
  ✔ pngquant built successfully
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/7zip-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"win32","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/app-builder-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/app-builder-bin-win):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"win32","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/7zip-bin-mac):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/appdmg):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 810 packages from 647 contributors in 40.779s

Release new version with updated dependencies

Image Shrinker's package.json says:

"svgo": "^1.3.0"

My understanding of package.json syntax is that this will use any svgo version up to but not including 2.0.0.

Image Shrinker 1.6.4 was released October 2020 at which time the current version of svgo was 1.3.2. Today in June 2023 the current version of svgo is 3.0.2.

Maybe it's time to release a new version of Image Shrinker with updated versions of svgo and any other of its dependencies that have had new releases?

Files with uppercased extension not accepted

Hi,

First, thank you for this brilliant idea :-)

While using your app I have noticed a problem with files which have uppercase extensions. My Panasonic Lumix camera uses file names like that by default, for example P112233.JPG and not p112233.jpg. When I drop such file onto the application, it shows warning that only SVG, PNG and JPG files are allowed. Once I change the file extension to lowercase, it's accepted and shrunk without any problems.

I'm using the application on Mac OS High Sierra v.10.13.4

Compression lossy or not?

It seems that the compression is lossy? This is a PNG logo I compressed the other day.

Original:
image-shrinker original

Shrunk file, note the staircase effect:
image-shrinker shrunk hard edge

(In Nextcloud for example we use Trimage for compression of JPG/PNG and scour for compression of SVG, which are both lossless and have not had issues. Lossy compression like SVGO and others have always led to issues, so we avoid them.)

Especially for SVG it needs to be not lossy since they are often the source files. If some of the methods used in Image Shrinker are lossy and others not, maybe a switch to "Compress even more! (smaller files but lossy compression)" or the like is best?

Setting .min

Add a new setting: "Add .min suffix to shrinked file"

JavaScript error when summoning Preferences while About window is frontmost

Steps to reproduce

  1. open Image Shrinker 1.6.4
  2. select "About Image Shrinker" from the Image Shrinker menu
  3. select "Preferences" from the Image Shrinker menu

Result

A JavaScript error occurred in the main process

Uncaught Exception:
TypeError: Cannot read property 'webContents' of undefined
at click (/Volumes/Shared/Applications/Image Shrinker.app/Contents/Resources/app.asar/menu/mainmenu.js:32:35)
at MenuItem.click (electron/js2c/browser_init.js:69:1626)
at Object.l._executeCommand (electron/js2c/browser_init.js:77:2328)

GIF support

wondering about getting support for gifs. I've done it with gifsicle here: #47 but any other ideas?

Files with uppercased extension not accepted

Hi,

First, thank you for this brilliant idea :-)

While using your app I have noticed a problem with files which have uppercase extensions. My Panasonic Lumix camera uses file names like that by default, for example P112233.JPG and not p112233.jpg. When I drop such file onto the application, it shows warning that only SVG, PNG and JPG files are allowed. Once I change the file extension to lowercase, it's accepted and shrunk without any problems.

I'm using the application on Mac OS High Sierra v.10.13.4

Fix background parallax

For some reasons parallax is not smooth anymore. Because of absolute positioned elements?

[request] release update

current version (1.5.0) is not working properly (problem with zero bytes jpgs)
the bug is already fixed but there is no update on the release channel.

please post a new version. thanks!

Dragging scroll thumb moves window

Steps to reproduce

  1. In System Preferences > General, set "Show scroll bars" to "Automatically based on mouse or trackpad" and attach a mouse, or set it to "Always"
  2. Launch Image Shrinker 1.6.4
  3. Convert a batch of several images (5 or more?) so that the results window has scrollable contents
  4. Use the mouse to drag the scroll thumb

Result

The window moves instead of the scroll bar thumb, as if I had dragged the window's titlebar.

Other platforms

Why isn't this app available for other platforms (linux/windows)? It was made using electron, so it can be cross platform

List of latest shrinks

Add a "latest shrinks" list under the "Drag files here" field. Users can quickly jump to their recently shrinked images.

Communicate when compression is done

Love this app! A tiny change that would help the UX a bit would be some indication that a file is done being compressed. There's some tiny text above the file name already (e.g. "You saved 55%"), but it doesn't read as a success message. A little checkmark icon or something on the right would make it crystal clear.

image

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.