Skip to content

ImageResizer can be used to resize images or generate application icons.

License

Notifications You must be signed in to change notification settings

xuzhuoxi/ImageResizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ImageResizer

ImageResizer 主要用于生成不同尺寸的图像。

中文 | English

兼容性

go1.16

如何开始

你可以选择下载发行版本或者构造获得执行文件。

下载发行版本

构造

  • 下载仓库

     go get -u github.com/xuzhuoxi/ImageResizer
  • 构造

    • 构造依赖到第三方库goxc

    • 如有必要,你可以修改相关构造脚本。

    • 建议先关闭gomod:go env -w GO111MODULE=off,由于goxc已经比较旧。

    • 执行构造脚本goxc_build.shgoxc_build.bat,执行文件将生成在"build/release"目录中。

运行

工具仅支持命令行执行。

命令行参数说明

  • -env
    • 可选】运行时环境路径,支持绝对路径与相对于当前执行目录的相对路径,空表示使用执行文件所在目录
    • 例如: -env=D:/workspaces
  • -mode
    • 必要】执行模式[icon|size|scale]
    • 例如: -mode=icon
  • -cfg
    • icon必要】配置文件路径
    • 例如: -cfg=D:/workspaces/icon_ios.yaml
  • -src
    • 必要】来源文件或目录,支持多个,可用英文逗号","分隔
    • 例如: -src=D:/workspaces/IconDir,D:/workspaces/Icon.png
  • -include
    • size,scale可选】当来源包含目录时必要,扩展名过滤,支持多个,可用英文逗号","分隔
    • 例如: -include=jpg,png
  • -tar_dir
    • size,scale:File与Dir二选一】【icon必要】产出目录,不支持多个
    • 例如: -tar_dir=D:/workspaces/OutDir
  • -tar_file
    • size,scale:File与Dir二选一】产出文件
    • 例如: -tar_file=D:/workspaces/OutDir/IconNew.png
  • -size
    • size必要】产出文件尺寸,支持多个,可用英文逗号","分隔
    • 例如: -size=512,48x32
  • -scale
    • scale必要】产出文件比例,支持多个,可用英文逗号","分隔
    • 例如: -scale=0.8,1,1.5
  • -name
    • icon可选】模式下替换名称
    • 例如: -name=IconNew
  • -format
    • 可选】指定产出文件格式
    • 例如: -format=jpg
  • -ratio
    • 可选】指定产出文件质量
    • 例如: -ratio=65

应用场景举例

注意:以下使用$EnvPath代替实际环境路径。

  • 模式"icon"应用场景:

    • icon配置文件说明:

      1. 配置文件使用ymal格式。

      2. 配置文件说明及相应结构:

        type IconSize struct {
        	Name string `yaml:"name"` // 文件路径
        	Size string `yaml:"size"` // 尺寸,格式: 长x宽
        }
        type IconCfg struct {
        	DefaultName string     `yaml:"default-name"`   // 默认名称,用于替换"{{name}}"中内容
        	Format      string     `yaml:"default-format"` // 文件格式,空的时候读取源文件扩展名格式
        	Ratio       int        `yaml:"default-ratio"`  // 品质压缩率
        	List        []IconSize `yaml:"list"`           // 尺寸
        }
      • default-name: 在未使用-name参数时默认使用的名称

      • default-format: 在未使用-format参数时默认使用的格式参数,填空字符串时表示使用源图像的格式

      • default-ratio: 在未使用-ratio参数时默认使用的品质参数,填0时表示使用工具默认的参数85.

      • name: 文件路径,不用填扩展名,支持“{{name}}”的替换参数。

      • size: 图像尺寸,格式:长x宽

      1. 例子可参考icon_ios.yaml
    • 生成iOS应用图标,并指定文件名称前缀

      命令行: ImageResizer -env=$EnvPath -mode=icon -cfg=icon_ios.yaml -src=src/SrcIcon.png -tar_dir=tar -name=AppIcon

  • 模式"size"应用场景:

    • 调整指定图像大小,并指定格式与质量

      命令行: ImageResizer -env=$EnvPath -mode=size -src=src/SrcIcon.png -tar_file=tar/SrcIcon.png -size=512x512 -format=jpg -ratio=65

    • 批量调整目录中的png图像到多种大小

      命令行: ImageResizer -env=$EnvPath -mode=size -src=src -include=png -tar_dir=tar, -size=512,256x256

  • 模式"scale"应用场景:

    • 调整指定图像比例

      命令行: ImageResizer -env=$EnvPath -mode=scale -src=src/SrcIcon.png -tar_file=tar/SrcIcon.png -scale=0.5

    • 批量调整目录中的jpg图像到多种比例,并指定格式与质量

      命令行: ImageResizer -env=$EnvPath -mode=scale -src=src -include=png -tar_dir=tar, -scale=0.6,1.2 -foramt=png -ratio=85

例子

依赖库

联系作者

xuzhuoxi

xuzhuoxi@gmail.com or mailxuzhuoxi@163.com

License

ImageResizer source code is available under the MIT License.

About

ImageResizer can be used to resize images or generate application icons.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published