Giter Club home page Giter Club logo

imagine's Introduction

Imagine

build

Imagine is a desktop app for compression of PNG and JPEG, with a modern and friendly UI.

Save for web.

Install

For Windows, macOS and Linux, download binaries from:

https://github.com/meowtec/Imagine/releases

  • Imagine-Setup-x.y.z.exe - Windows
  • Imagine-x.y.z.dmg - macOS
  • Imagine-0.4.1-x.y.z.AppImage - Linux

国内用户从 GitHub 下载可能比较慢,可以使用国内加速

Install on linux

App for linux is distributed in AppImage format. Install it with command line:

chmod a+x Imagine-x.y.z-x86_64.AppImage # make executable
./Imagine-x.y.z-x86_64.AppImage # install and run

Screenshot

Screenshot

Features

  • Multi format (JPEG, PNG, WebP)
  • Format conversion
  • Cross platform
  • GUI
  • Batch optimization
  • i18n (English, 简体中文, Nederlands, Español, Français, Italiano, Deutsch)

Build and Contribute

git clone https://github.com/meowtec/Imagine.git
npm install
npm run dev

A PR with all checks passed is welcome.

Before submit a PR, please run npm run test and make sure it success on your machine.

Up to now, there are only 5 locales. To add a new locale, you can either submit a PR, or create an issue, or just send me an email(found in my profile).

Built on

  • pngquant: Lossy PNG compressor
  • mozjpeg: Improved JPEG encoder
  • WebP: A new image format for the Web
  • Electron: Build cross platform desktop apps with JavaScript, HTML, and CSS

imagine's People

Contributors

ahohnmyc avatar codixer avatar crispinophur avatar dependabot[bot] avatar edmael avatar eson57 avatar mcjczapiewski avatar meowtec avatar mohd-ph avatar scr-ir avatar vistaus avatar yannicka 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  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

imagine's Issues

Problem saving file extension

The software works fine and I really like it when it comes to optimize images with Imagine. However I noticed that while saving an image to another file extension, the target file extension doesn't adds in the image name.

For example I am optimizing a PNG image and save it as Webp, then in the final file it still shows the PNG extension though the converted file is Webp. Same happens with the JPG image.

It is minor issue but I it needs to be fixed.

能否命令行调用软件压缩图片?

Can the command line call can the command line call the software compressed image?If not, can you support it?
能否命令行调用软件压缩图片?如果没有的话能否支持?

If you offend, please forgive me, I'm glad to use it
如有冒犯,请原谅,很高兴可以用到

Version

eg: 0.5.0

Operating system (version and arch)

eg: Windows 10 x64

Resize Image Dimensions??

I have just discovered there does not appear to be a way to resize the dimensions of an image? Where might I find the best place to change this? I am just going to statically set it for now and add menus/functions later.

建议

希望加个批量处理完后自动保存文件。。。

Release 0.1.0

TODO:

  • Notification of save
  • Single Instance
  • Locales
  • UI Promotion
  • LICENSE
  • single file save

Update dependencies

I think it's time to update this project's dependencies again as per #54. The currently used Electron version is 7 while the latest stable Electron version is 8.2.1. NodeJS could also be updated from the LTS version 10 to the LTS version 12.

Feature Request/Help Add the ability to Email the Reduced Images

I would like to configure the ability to send the resized images to an email address. This would require another options panel to configure the SMTP server, plus another option in the ActionsBar for email.

I have built electron apps before, but this one is a bit more complex, especially regarding the use of react which I have never used.

I would love to try and contribute and add this feature myself, but would greatly appreciate a few pointers.

Basically, where might you suggest I start to add the components for the Options Popup, which would be quite similar to the ImageOptions panel, except of course it would be a form with SMTP server address, SMTP credentials and from address.

Thank you for any assistance you could provide. And thank you for the project, I like it quite a bit and would love to contribute with some assistance.

建议增强菜单功能

Version

eg: 0.5.0

Operating system (version and arch)

eg: Windows 10 x64

Describe the bug

What happened?

  • 建议每张图片增加选择框,然后加强菜单,比如可以批量设置图片质量。
  • 建议点击压缩图片时,再处理图片,处理过的图片进行标识。

Screenshot

Logs

Compilation error

on npm run dev run get

modules/renderer/store/reducer.ts(58,49): error TS2345: Argument of type '{ [x: string]: ((state: ITaskItem[], action: Action<ITaskAddPayloadItem[]>) => ITaskItem[]) | ((s...' is not assignable to parameter of type 'ReducerMap<ITaskItem[], ITaskItem[]>'.
  Index signatures are incompatible.
    Type '((state: ITaskItem[], action: Action<ITaskAddPayloadItem[]>) => ITaskItem[]) | ((state: ITaskItem...' is not assignable to type 'Reducer<ITaskItem[], ITaskItem[]> | ReducerNextThrow<ITaskItem[], ITaskItem[]>'.
      Type '(state: ITaskItem[], action: Action<string[]>) => ITaskItem[]' is not assignable to type 'Reducer<ITaskItem[], ITaskItem[]> | ReducerNextThrow<ITaskItem[], ITaskItem[]>'.
        Type '(state: ITaskItem[], action: Action<string[]>) => ITaskItem[]' has no properties in common with type 'ReducerNextThrow<ITaskItem[], ITaskItem[]>'.
modules/renderer/store/reducer.ts(122,55): error TS2345: Argument of type '{ [x: string]: ((state: IGlobals, action: Action<string>) => { activeId: string | undefined; upda...' is not assignable to parameter of type 'ReducerMap<IGlobals, IGlobals>'.
  Index signatures are incompatible.
    Type '((state: IGlobals, action: Action<string>) => { activeId: string | undefined; updateInfo?: IUpdat...' is not assignable to type 'Reducer<IGlobals, IGlobals> | ReducerNextThrow<IGlobals, IGlobals>'.
      Type '(state: IGlobals, action: Action<string>) => { activeId: string | undefined; updateInfo?: IUpdate...' is not assignable to type 'Reducer<IGlobals, IGlobals> | ReducerNextThrow<IGlobals, IGlobals>'.
        Type '(state: IGlobals, action: Action<string>) => { activeId: string | undefined; updateInfo?: IUpdate...' has no properties in common with type 'ReducerNextThrow<IGlobals, IGlobals>'.

webp图片压缩,体积反而增大。

你好,我按照你的代码重新编写代码后,发现使用webp图片进行压缩后,图片体积反而增大了,想问下这种情况是正常的吗?
操作系统:win10 64
工具:cwep.exe
图片格式: webp,22KB
压缩后:webp,120KB

存在 cve-2018-1000006 漏洞

Version

eg: 0.3.1

Operating system (version and arch)

eg: Windows 7 x64

Describe the bug

远程命令执行

Screenshot

untitled

screen shot 2018-01-24 at 9 16 56 pm

-->

No progress bar is a big flaw没有进度条是很大缺陷

No progress bar is a big flaw.I cannot know the progress of the conversion
没有进度条是很大缺陷,我不知道转换的进度

I did a comparative evaluation of the same type of image compression tools
我做了一个同类型的图片压缩工具的对比测评

Comparative evaluation summary picture
对比测评总结图片
https://i.loli.net/2020/08/26/y89fvUXB16c7VEw.jpg

Text summary
文字总结
https://oldmenplus.xyz/%E6%9C%AC%E5%9C%B0%E5%9B%BE%E7%89%87%E5%8E%8B%E7%BC%A9%E5%B7%A5%E5%85%B7%E6%B5%8B%E8%AF%84/

If you offend, please forgive me
如有冒犯,请原谅

This tool is one of the easier to use for the time being. I'm glad to use it
该工具是暂时我接触到的比较好用的几个之一,很高兴可以用到

(-ω-`)⌒)_

Version

eg: 0.3.1

Operating system (version and arch)

eg: Windows 10 x64

Describe the bug

What happened?

Screenshot

Logs

是否可以优化批量处理

Version

eg: 0.3.1

Operating system (version and arch)

eg: Windows 10 x64

Describe the bug

加了个三百多张PNG图片的文件夹,想转换为JPG。
发现要等软件的界面上所有的图片左上角变成绿点,点保存才有用。
中途点击的话保存的图片则不全。
这个交互是否可以重新考虑。不是太方便,图片过多的时候,也很难查看到转换进度。

Screenshot

Logs

Doesn't optimize images on my computer

Hi,

I am using Imagine on my Manajro Linux computer. I downloaded the AppImage and execute that. But after importing images, it doesn't optimize them. There is a red indicator appears, mean the images are not optimized.

Can you help with this ?

improve UX

  • Error messages
  • ImageMagick installation help
  • About page
  • Github.io homepage
  • and more

And release v1.0

建议增加gif压缩

这一类需求越来越频繁,现在是用的两个工具来压缩,PNG和JPG用Imagine,GIF用另一个。如果Imagine能集成gif压缩就太好了。

感谢作者提供如此好用的工具。

Avoid file size increase

I there, thanks for this great soft,

Would be great to have a button to remove all images that are going to be bigger.

Use case :

  1. Drop multiple images
  2. Let Imagine preview the output file size
  3. Some images can have their size reduced but some will have their size increased
  4. Click on a button to remove these specific pictures to avoid making them bigger

Some other software have similar feature, for example in RIOT :

image

There are 2 indicators to prevent the user to increase the file size he originally wants to reduce.

Another example from Caesium :

image

[Linux] desktop file is lacking a Categories= entry

The desktop file is lacking a Categories= entry in the *.desktop file.

According to the menu spec,

By including one of the Main Categories in an application's desktop entry file, the application will be ensured that it will show up in a section of the application menu dedicated to this category. If multiple Main Categories are included in a single desktop entry file, the entry may appear more than once in the menu.

Hence, please add at least one of the following in the Categories= key.

Main Category Description Notes
AudioVideo Application for presenting, creating, or processing multimedia (audio/video)
Audio An audio application Desktop entry must include AudioVideo as well
Video A video application Desktop entry must include AudioVideo as well
Development An application for development
Education Educational software
Game A game
Graphics Application for viewing, creating, or processing graphics
Network Network application such as a web browser
Office An office type application
Science Scientific software
Settings Settings applications Entries may appear in a separate menu or as part of a "Control Center"
System System application, "System Tools" such as say a log viewer or network monitor
Utility Small utility application, "Accessories"

In addition, you could specify one or more from the longer list of Additional Categories.

Please test the result with desktop-file-validate and make sure it passes.

electron-builder offers native support for this since v19.22.1.

Reference: AppImage/appimage.github.io#2

后缀问题

#12 提到过,这个问题我踩了一个大坑。。。
给数据库的图片做压缩,为了方便替换,得保证压缩前后名称不变,结果emmmm。

[feature request]paste picture from the clipboard

Version

0.5

Operating system (version and arch)

mac 10.14.1

Describe the feature requested

I have to drop pic to the app or find it in the path, but I can't paste the pic from my clipboard which I captured from the screenshot.
Please support paste picture from the clipboard, which is really helpful to save our time, thanks!

能设置默认转成webp格式吗?

现在默认是jpg格式,想转换成webp格式,还得一个一个的点击,图片太多了,太麻烦了。

希望增加一个软件功能,默认设置成什么格式。

然后导入图片之后,自动根据设置来就行了。

Flatpak package

I created the flatpak package for Imagine.
https://github.com/scx/imagine-flatpak

I am in the process of submitting it to the Flathub repo.
flathub/flathub#786
https://github.com/scx/flathub/tree/com.github.meowtec.Imagine

It would be nice if the author decided to participate in the further development of this flatpak package.
First of all, I would ask you to verify the AppData file:
https://github.com/scx/flathub/blob/com.github.meowtec.Imagine/com.github.meowtec.Imagine.appdata.xml

Please also verify the Desktop file:
https://github.com/scx/flathub/blob/com.github.meowtec.Imagine/com.github.meowtec.Imagine.desktop

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.