[App Sharing] 分享一个【自制】好用的图标转换工具,支持svg转icns、ico
Tofloor
poster avatar
火星漫游者
deepin
2024-05-06 16:24
Author

一、造轮子背景

在开发跨平台桌面应用时,存在需要生成各个平台图标格式的需求,如:

  • linux图标为png格式;
  • macos图标为icns格式,底层包含多种尺寸的图像; // 尺寸缺失时可能导致图标不生效。
  • windows图标为ico格式,底层包含多种尺寸的图像;

然而,没有一款功能完善、好用且免费的图标转换软件,故开发了本软件。

所使用技术:electron,目前代码暂未开放,后续考虑开源。

支持的系统:linux-x64,mac-x64 // 由于环境问题,目前只打包了这两个平台的版本

下载地址:https://github.com/MarsSwimmer/icon-convertor/releases/tag/v0.01

没有梯子的同学可以访问网盘:https://pan.baidu.com/s/1K4-lumczxHicfwQUP-3dtw?pwd=2xns

二、现状&存在的问题

现有的一些图标在线转换的工具也存在着一些问题:

  • 功能单一,有的只支持svg转png,有的只支持png转icns,功能不全面;
  • 转换的质量较差,在打包进应用后效果非常差;
  • 甚至有时转换后的icns、ico图像尺寸缺失,导致打包进应用后图标不显示。

三、软件特点

  • 支持svg、png图像转Icns,支持全规格icns(ic7,ic8,ic9,ic10,ic11,ic12,ic13,ic14),mac应用打包时不再担心图标不生效问题;
  • 支持svg、png图像转Ico,可选多种尺寸的图像;
  • 支持非标svg图像,现有的svg图像库在处理非标svg图像时可能导致颜色丢失(全黑)和颜色不正常(偏紫色)的情况,本软件采用浏览器渲染的方式完美绕过了颜色丢失的问题;
  • 完全免费。

四、软件UI

软件主界面

preview.png

软件使用说明界面

detail.png

导出mac平台icns、windows平台的ico、linux的png图标结果展示

result.png

PS: 有没有设计师同学可以帮忙设计下本软件图标(svg或png都行),若征集到在下个版本会打包到应用中。

五、异常及解决方案

1 应用启动报错FATAL:setuid_sandbox_host.cc

// 详细错误
FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /usr/lib/icon-convertor/chrome-sandbox is owned by root and has mode 4755.

解决方案

sudo chmod 4755 /usr/lib/icon-convertor/chrome-sandbox && sudo chown root:root /usr/lib/icon-convertor/chrome-sandbox

Reply Favorite View the author
All Replies
晚秋(lateautumn)
Moderator
2024-05-06 16:56
#1

厉害,谢谢分享。

Reply View the author
👀偷偷观察
deepin
2024-05-06 18:05
#2

png 转SVG 呢?

Reply View the author
火星漫游者
deepin
2024-05-06 18:52
#3
👀偷偷观察

png 转SVG 呢?

这个暂时不支持,后面找到插件后会加上去的

Reply View the author
👀偷偷观察
deepin
2024-05-06 19:01
#4
火星漫游者

这个暂时不支持,后面找到插件后会加上去的

npm install -g png2svg

Reply View the author
火星漫游者
deepin
2024-05-06 19:53
#5
👀偷偷观察

npm install -g png2svg

png转svg不需要吧

Reply View the author
👀偷偷观察
deepin
2024-05-06 20:02
#6
火星漫游者

png转svg不需要吧

现在系统图标是svg的

Reply View the author
火星漫游者
deepin
2024-05-06 20:07
#7
👀偷偷观察

现在系统图标是svg的

打包应用里用的是png啊,系统里用的svg这类需求是针对图标定制场景,不是应用打包场景

png2svg我试过,太耗资源而且耗时也比较长。

针对图标定制场景,大家可以下载png2svg的命令行工具,使用很简单,看上去是比应用里操作简单,是否仍然需要集成到应用里,再考虑考虑

Reply View the author
👀偷偷观察
deepin
2024-05-06 20:38
#8

https://www.iloveimg.com/

Reply View the author
chmod700
deepin
2024-05-06 21:05
#9
The user is banned, and the content is hidden.
PurestAsh
deepin
2024-05-06 21:26
#10

好漂亮的界面!,用的electron吗?

Reply View the author
火星漫游者
deepin
2024-05-06 21:39
#11
PurestAsh

好漂亮的界面!,用的electron吗?

谢谢,是electron

Reply View the author
火星漫游者
deepin
2024-05-06 21:40
#12
chmod700
The user is banned, and the content is hidden.

是吗?你没有遇到过非标的svg图像,很多图像库转出来是黑色或者紫色的,很多老的svg图像都是这样的情况

Reply View the author
chmod700
deepin
2024-05-06 23:11
#13
The user is banned, and the content is hidden.
火星漫游者
deepin
2024-05-07 00:18
#14
👀偷偷观察

https://www.iloveimg.com/

看来你已经找到工具了,那么不需要集成png转svg的功能了,

今天折腾了下,转出来的svg效果很不好,有像素点,还有大黑框,即使加上了大家更多是嫌弃

Reply View the author
神末shenmo
deepin
Spark-App
2024-05-07 10:17
#15

收集到商店了

图片.png

Reply View the author