imagetools 1.5.2 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f128fc1b72a58b40adbbba6c9c078cd5005d14c230134692c6d9237c2a35bc54
4
- data.tar.gz: 38f28d503272cd72386ceb7f67b0201f6431adbf861ddfac4e96787467140440
3
+ metadata.gz: c0335806116e97fe67585ed147307f59b4ec0d66d113136edd6dd47cde66c6d7
4
+ data.tar.gz: e0fd06c71d4723155a6da78fae5ca80a9c60816a710f320d158a5ceeb35a3b08
5
5
  SHA512:
6
- metadata.gz: 45346fcff77ae87676bb73a1cf7d622dfbcc14e90cabf114e2d123e4792ab9b175808a4cb0eb9412db6f600984e8973158e1406e804704c70e5ff08477dbbad2
7
- data.tar.gz: c2ef3862385e14409f88dbe169248d3f624e2fbfd789ea63ef679c1826ad119461dbde03a38912886cec06a24e21dc1d9e0438f13fe275006e9aab4028a6bdd7
6
+ metadata.gz: 62eb24fdf16f42f1144ca8d2f28c39f77314f20f202ce66103f4d932fec7725c5b39a556e607ff26bba03075f3e4784a973d2d665467254ada3ccee1f1ec37af
7
+ data.tar.gz: f778694e55b59655c473dad77bbbea978650f22a6e094e851ef29dfe31792fe2b54305314dcc91811f8429e529192db42389a027ff8c05aa89b946514db795f1
data/.idea/misc.xml CHANGED
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" project-jdk-name="rbenv: 2.5.1" project-jdk-type="RUBY_SDK">
3
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_6" project-jdk-name="rbenv: 3.0.4" project-jdk-type="RUBY_SDK">
4
4
  <output url="file://$PROJECT_DIR$/out" />
5
5
  </component>
6
6
  </project>
data/.idea/workspace.xml CHANGED
@@ -1,7 +1,17 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <project version="4">
3
3
  <component name="ChangeListManager">
4
- <list default="true" id="b197c64f-57f8-4389-ab8d-dc9fe3cb05ba" name="Default" comment="" />
4
+ <list default="true" id="b197c64f-57f8-4389-ab8d-dc9fe3cb05ba" name="Default" comment="">
5
+ <change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
6
+ <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
7
+ <change beforePath="$PROJECT_DIR$/.ruby-version" beforeDir="false" afterPath="$PROJECT_DIR$/.ruby-version" afterDir="false" />
8
+ <change beforePath="$PROJECT_DIR$/Gemfile.lock" beforeDir="false" afterPath="$PROJECT_DIR$/Gemfile.lock" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/README.md" beforeDir="false" afterPath="$PROJECT_DIR$/README.md" afterDir="false" />
10
+ <change beforePath="$PROJECT_DIR$/imagetools.iml" beforeDir="false" afterPath="$PROJECT_DIR$/imagetools.iml" afterDir="false" />
11
+ <change beforePath="$PROJECT_DIR$/lib/imagetools/imageconcat.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/imagetools/imageconcat.rb" afterDir="false" />
12
+ <change beforePath="$PROJECT_DIR$/lib/imagetools/imagefilter.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/imagetools/imagefilter.rb" afterDir="false" />
13
+ <change beforePath="$PROJECT_DIR$/lib/imagetools/version.rb" beforeDir="false" afterPath="$PROJECT_DIR$/lib/imagetools/version.rb" afterDir="false" />
14
+ </list>
5
15
  <option name="SHOW_DIALOG" value="false" />
6
16
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
7
17
  <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
@@ -18,6 +28,12 @@
18
28
  <component name="Git.Settings">
19
29
  <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
20
30
  </component>
31
+ <component name="HighlightingSettingsPerFile">
32
+ <setting file="file://$PROJECT_DIR$/exe/imageconcat" root0="FORCE_HIGHLIGHTING" />
33
+ <setting file="file://$PROJECT_DIR$/test_imageconcat.sh" root0="FORCE_HIGHLIGHTING" />
34
+ <setting file="file://$USER_HOME$/.anyenv/envs/rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/imagetools-1.5.2/lib/imagetools/imageconcat.rb" root0="FORCE_HIGHLIGHTING" />
35
+ <setting file="file://$PROJECT_DIR$/lib/imagetools/imageconcat.rb" root0="FORCE_HIGHLIGHTING" />
36
+ </component>
21
37
  <component name="ProjectFrameBounds">
22
38
  <option name="x" value="254" />
23
39
  <option name="y" value="418" />
@@ -44,12 +60,12 @@
44
60
  <property name="last_opened_file_path" value="$PROJECT_DIR$" />
45
61
  <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
46
62
  <property name="nodejs_npm_path_reset_for_default_project" value="true" />
47
- <property name="project.structure.last.edited" value="Project" />
48
- <property name="project.structure.proportion" value="0.0" />
49
- <property name="project.structure.side.proportion" value="0.0" />
63
+ <property name="project.structure.last.edited" value="Modules" />
64
+ <property name="project.structure.proportion" value="0.15" />
65
+ <property name="project.structure.side.proportion" value="0.208413" />
50
66
  <property name="settings.editor.selected.configurable" value="preferences.keymap" />
51
67
  </component>
52
- <component name="RunManager">
68
+ <component name="RunManager" selected="Ruby.imageconcat">
53
69
  <configuration default="true" type="Application" factoryName="Application">
54
70
  <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
55
71
  <method v="2">
@@ -84,6 +100,27 @@
84
100
  <option name="Make" enabled="true" />
85
101
  </method>
86
102
  </configuration>
103
+ <configuration name="imageconcat" type="RubyRunConfigurationType" factoryName="Ruby">
104
+ <module name="imagetools" />
105
+ <RUBY_RUN_CONFIG NAME="RUBY_ARGS" VALUE="" />
106
+ <RUBY_RUN_CONFIG NAME="WORK DIR" VALUE="$PROJECT_DIR$" />
107
+ <RUBY_RUN_CONFIG NAME="SHOULD_USE_SDK" VALUE="false" />
108
+ <RUBY_RUN_CONFIG NAME="ALTERN_SDK_NAME" VALUE="" />
109
+ <RUBY_RUN_CONFIG NAME="myPassParentEnvs" VALUE="true" />
110
+ <EXTENSION ID="BundlerRunConfigurationExtension" bundleExecEnabled="true" />
111
+ <EXTENSION ID="JRubyRunConfigurationExtension" NailgunExecEnabled="false" />
112
+ <EXTENSION ID="RubyCoverageRunConfigurationExtension" track_test_folders="true" runner="rcov" ENABLE_FORKED_COVERAGE="true">
113
+ <COVERAGE_PATTERN ENABLED="true">
114
+ <PATTERN REGEXPS="/.rvm/" INCLUDED="false" />
115
+ </COVERAGE_PATTERN>
116
+ </EXTENSION>
117
+ <EXTENSION ID="org.jetbrains.plugins.ruby.rails.run.RailsRunConfigurationExtension" SCRATCH_USE_RAILS_RUNNER="false" />
118
+ <RUBY_RUN_CONFIG NAME="SCRIPT_PATH" VALUE="$PROJECT_DIR$/exe/imageconcat" />
119
+ <RUBY_RUN_CONFIG NAME="SCRIPT_ARGS" VALUE="-n 2 ~/tmp2" />
120
+ <method v="2">
121
+ <option name="Make" enabled="true" />
122
+ </method>
123
+ </configuration>
87
124
  <configuration default="true" type="TestNG">
88
125
  <option name="TEST_OBJECT" value="CLASS" />
89
126
  <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
@@ -102,6 +139,10 @@
102
139
  <option name="Make" enabled="true" />
103
140
  </method>
104
141
  </configuration>
142
+ <list>
143
+ <item itemvalue="Ruby.iconcreator" />
144
+ <item itemvalue="Ruby.imageconcat" />
145
+ </list>
105
146
  </component>
106
147
  <component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
107
148
  <component name="SpringUtil" SPRING_PRE_LOADER_OPTION="true" RAKE_SPRING_PRE_LOADER_OPTION="false" RAILS_SPRING_PRE_LOADER_OPTION="false" />
@@ -117,11 +158,13 @@
117
158
  <workItem from="1570340436196" duration="217000" />
118
159
  <workItem from="1583825074054" duration="96000" />
119
160
  <workItem from="1646719315550" duration="10000" />
161
+ <workItem from="1669361560975" duration="7318000" />
162
+ <workItem from="1669384174219" duration="1374000" />
120
163
  </task>
121
164
  <servers />
122
165
  </component>
123
166
  <component name="TypeScriptGeneratedFilesManager">
124
- <option name="version" value="1" />
167
+ <option name="version" value="3" />
125
168
  </component>
126
169
  <component name="Vcs.Log.History.Properties">
127
170
  <option name="COLUMN_ORDER">
@@ -133,6 +176,32 @@
133
176
  </list>
134
177
  </option>
135
178
  </component>
179
+ <component name="XDebuggerManager">
180
+ <breakpoint-manager>
181
+ <breakpoints>
182
+ <line-breakpoint enabled="true" type="ruby-line">
183
+ <url>file://$PROJECT_DIR$/lib/imagetools/imageconcat.rb</url>
184
+ <line>30</line>
185
+ <properties myBlockOrdinal="-1">
186
+ <option name="block-ordinal" value="-1" />
187
+ </properties>
188
+ <option name="timeStamp" value="7" />
189
+ </line-breakpoint>
190
+ <line-breakpoint enabled="true" type="ruby-line">
191
+ <url>file://$PROJECT_DIR$/lib/imagetools/imageconcat.rb</url>
192
+ <line>44</line>
193
+ <properties myBlockOrdinal="-1">
194
+ <option name="block-ordinal" value="-1" />
195
+ </properties>
196
+ <option name="timeStamp" value="8" />
197
+ </line-breakpoint>
198
+ </breakpoints>
199
+ </breakpoint-manager>
200
+ </component>
201
+ <component name="com.intellij.coverage.CoverageDataManagerImpl">
202
+ <SUITE FILE_PATH="coverage/imagetools@imageconcat.rcov" NAME="imageconcat Coverage Results" MODIFIED="1669384701671" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" MODULE_NAME="imagetools" />
203
+ <SUITE FILE_PATH="coverage/imagetools@iconcreator.rcov" NAME="iconcreator Coverage Results" MODIFIED="1669377776099" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="rcov" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/exe" MODULE_NAME="imagetools" />
204
+ </component>
136
205
  <component name="masterDetails">
137
206
  <states>
138
207
  <state key="ProjectJDKs.UI">
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 3.0.2
1
+ 3.0.4
data/Gemfile.lock CHANGED
@@ -1,15 +1,17 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- imagetools (1.5.2)
4
+ imagetools (1.6.0)
5
5
  rmagick
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
- minitest (5.15.0)
10
+ minitest (5.16.3)
11
+ pkg-config (1.5.1)
11
12
  rake (13.0.6)
12
- rmagick (4.2.4)
13
+ rmagick (5.1.0)
14
+ pkg-config (~> 1.4)
13
15
 
14
16
  PLATFORMS
15
17
  ruby
@@ -21,4 +23,4 @@ DEPENDENCIES
21
23
  rake (~> 13.0)
22
24
 
23
25
  BUNDLED WITH
24
- 2.3.8
26
+ 2.3.19
data/README.md CHANGED
@@ -1,33 +1,129 @@
1
1
  # Imagetools
2
2
 
3
- Image tools.
3
+ Ruby製の画像ツールコレクションです。以下のツールを含みます(※はプレビュー版です)
4
4
 
5
- ## Installation
5
+ - iconcreator(※): Xcodeで使用するアプリ用アイコンの作成
6
+ - iconextractor(※): .appからアイコン画像の抽出
7
+ - imageblog(※): ブログ用の連番画像生成(hugoを想定)
8
+ - imageburst(※): 動画ファイルを連続キャプチャ
9
+ - imageconcat: 画像の連結
10
+ - imagefilter: 画像変換(WordPress用画像を想定)
11
+ - imageresizer(※): 画像サイズ変換(WordPress用画像を想定)
6
12
 
7
- ```
8
- gem imagetools
9
- ```
13
+ 一部外部コマンドを使用するため、macOS上のRuby 3.xでの動作を想定しています。
14
+
15
+ ## インストール
10
16
 
11
- macOS High Sierra
12
17
 
18
+ ImageMagick v6が必要です。以下のコマンドでインストールします。
19
+
20
+ Homebrewの場合
13
21
  ```
14
22
  brew uninstall imagemagick
15
23
  brew install imagemagick@6
16
- PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem imagetools
24
+ PKG_CONFIG_PATH=/usr/local/opt/imagemagick@6/lib/pkgconfig gem install imagetools
25
+ ```
26
+
27
+ MacPosrtsの場合
28
+ ```
29
+ sudo port install imagemagick
30
+ gem install imagetools
31
+ ```
32
+
33
+ imagefilterを使用する場合、追加で以下の外部コマンドも必要です
34
+
35
+ - convert、mogrify: ImageMagicをインストールすれば使えるはず。
36
+ - dweb: WebP画像を扱う。
37
+ - exiftran: EXIF情報を削除。
38
+ - jpegoptim: JPEG画像の圧縮。
39
+
40
+ Homebrewの場合
41
+ ```
42
+ brew install webp jpegoptim exiftran
43
+ ```
44
+
45
+ MacPortsの場合
46
+
47
+ ```
48
+ sudo port install webp jpegoptim exiftran
17
49
  ```
18
50
 
19
51
 
20
- ## Usage
52
+ ## 使用方法
21
53
 
22
54
  ### imageconcat
23
55
 
56
+ 画像ファイルを連結します。
57
+
58
+ image1.jpg、image2.jpg、image3.jpgを連結し、カレントフォルダにphoto.jpgを出力。
59
+ ```
60
+ imageconcat image1.jpg image2.jpg image3.jpg
61
+ ```
62
+
63
+ カレントフォルダに存在する画像ファイルを全て取得してソートして最後の2個を連結し、カレントフォルダにphoto.jpgを出力。
64
+ ```
65
+ imageconcat -n 2 ~/tmp
66
+ ```
67
+
68
+ 以下のオプションが指定可能です。
69
+
70
+ ```
71
+ $ imageconcat
72
+ Usage: imageconcat [-h|--help] <dir> or <image1 image2 image3 ...>
73
+ -h, --help Show this message
74
+
75
+ Examples:
76
+ imageconcat ~/tmp # concat two recent IMG_*jpg images.
77
+ imageconcat image1.jpg image2.jpg image3.jpg # concat specified images.
78
+
79
+ Options:
80
+ -v, --verbose Verbose message
81
+ --dry-run Message only
82
+ -o, --output=OUTNAME Output file
83
+ -n, --number=NUM Concat image number
84
+ ```
85
+
86
+
24
87
  ### imagefilter
25
88
 
26
- ### iconcreator
89
+ 画像ファイルを適切に処理しブログで使いやすく変換します。
90
+
91
+ image1.pngが処理され、image1.jpgが作成されます。
92
+
93
+ ```
94
+ imagefilter image1.png
95
+ ```
27
96
 
28
- iconcreator is command line to genelete ios app icons.
97
+ 内部では以下の処理を順番に実行し、最終的にJPEGファイルを作成します。
29
98
 
30
- Xcode Version 9.2 AppIcon.
99
+ - 画像のリネーム
100
+ - WebPのPNGへの変換
101
+ - PENGのJPEGへの変換
102
+ - JPEGのリサイズ
103
+ - 画像の回転(カメラで撮影した画像を適切な向きに)
104
+ - 画像の圧縮
105
+
106
+ 一部の挙動は設定ファイル`~/.imagefilterrc`で制御できます。
107
+ ファイル名の検索・置換パターンが3つまでとリサイズ後の最大幅が指定できます。
108
+
109
+ ```
110
+ filename:
111
+ search1: s (\d+)-(\d+)-(\d+) (\d+)\.(\d+)\.(\d+)
112
+ replace1: s_\1\2\3_\4\5\6
113
+ search2: foo
114
+ replace2: bar
115
+ search3: fizz
116
+ replace3: buzz
117
+ resize:
118
+ width: 1280
119
+ ```
120
+
121
+ Hazelなどの自動化ツールと組みあせると便利です。
122
+
123
+
124
+ ### iconcreator
125
+
126
+ iOSアプリ用のアイコンファイルを生成します。
31
127
 
32
128
  ![AppIcon](appicon.png)
33
129
 
@@ -35,9 +131,6 @@ Xcode Version 9.2 AppIcon.
35
131
  iconcreator -i <ORIGINAL_ICON_FILE> -o <OUTPUT_DIR>
36
132
  ```
37
133
 
38
- ## Usage
39
-
40
- TODO: Write usage instructions here
41
134
 
42
135
 
43
136
  ## License
data/imagetools.iml CHANGED
@@ -3,96 +3,94 @@
3
3
  <component name="NewModuleRootManager" inherit-compiler-output="true">
4
4
  <exclude-output />
5
5
  <content url="file://$MODULE_DIR$" />
6
- <orderEntry type="jdk" jdkName="rbenv: 3.0.2" jdkType="RUBY_SDK" />
6
+ <orderEntry type="jdk" jdkName="rbenv: 3.0.4" jdkType="RUBY_SDK" />
7
7
  <orderEntry type="sourceFolder" forTests="false" />
8
8
  <orderEntry type="module-library">
9
- <library name="minitest (vbundled(5.14.0)) [path][gem]" type="rubylib">
9
+ <library name="minitest (vbundled(5.16.3)) [path][gem]" type="rubylib">
10
10
  <properties>
11
11
  <option name="version" value="4" />
12
12
  </properties>
13
13
  <CLASSES>
14
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib" />
15
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test" />
14
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/lib" />
15
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/test" />
16
16
  </CLASSES>
17
17
  <JAVADOC />
18
18
  <SOURCES>
19
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/lib" />
20
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test" />
19
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/lib" />
20
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/test" />
21
21
  </SOURCES>
22
22
  <excluded>
23
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/minitest-5.14.0/test" />
23
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/minitest-5.16.3/test" />
24
24
  </excluded>
25
25
  </library>
26
26
  </orderEntry>
27
27
  <orderEntry type="module-library">
28
- <library name="rake (vbundled(13.0.1)) [path][gem]" type="rubylib">
28
+ <library name="pkg-config (vbundled(1.5.1)) [path][gem]" type="rubylib">
29
29
  <properties>
30
30
  <option name="version" value="4" />
31
31
  </properties>
32
32
  <CLASSES>
33
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/bin" />
34
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/doc" />
35
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/exe" />
36
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib" />
37
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/.github" />
33
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/pkg-config-1.5.1/lib" />
34
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/pkg-config-1.5.1/test" />
38
35
  </CLASSES>
39
36
  <JAVADOC />
40
37
  <SOURCES>
41
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/bin" />
42
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/doc" />
43
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/exe" />
44
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/lib" />
45
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/.github" />
38
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/pkg-config-1.5.1/lib" />
39
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/pkg-config-1.5.1/test" />
46
40
  </SOURCES>
47
41
  <excluded>
48
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/bin" />
49
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/doc" />
50
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/exe" />
51
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rake-13.0.1/.github" />
42
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/pkg-config-1.5.1/test" />
52
43
  </excluded>
53
44
  </library>
54
45
  </orderEntry>
55
46
  <orderEntry type="module-library">
56
- <library name="rmagick (vbundled(3.2.0)) [path][gem]" type="rubylib">
47
+ <library name="rake (vbundled(13.0.6)) [path][gem]" type="rubylib">
57
48
  <properties>
58
49
  <option name="version" value="4" />
59
50
  </properties>
60
51
  <CLASSES>
61
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/doc" />
62
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/ext" />
63
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/lib" />
64
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/spec" />
65
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/test" />
66
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/examples" />
67
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/.circleci" />
68
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/benchmarks" />
69
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/deprecated" />
52
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/doc" />
53
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/exe" />
54
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/lib" />
70
55
  </CLASSES>
71
56
  <JAVADOC />
72
57
  <SOURCES>
73
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/doc" />
74
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/ext" />
75
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/lib" />
76
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/spec" />
77
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/test" />
78
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/examples" />
79
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/.circleci" />
80
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/benchmarks" />
81
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/deprecated" />
58
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/doc" />
59
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/exe" />
60
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/lib" />
82
61
  </SOURCES>
83
62
  <excluded>
84
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/doc" />
85
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/ext" />
86
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/spec" />
87
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/test" />
88
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/examples" />
89
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/.circleci" />
90
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/benchmarks" />
91
- <root url="file://$MODULE_DIR$/vendor/bundle/ruby/2.6.0/gems/rmagick-3.2.0/deprecated" />
63
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/doc" />
64
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rake-13.0.6/exe" />
92
65
  </excluded>
93
66
  </library>
94
67
  </orderEntry>
95
- <orderEntry type="library" scope="PROVIDED" name="bundler (v2.0.2, rbenv: 2.6.5) [gem]" level="application" />
96
- <orderEntry type="library" scope="PROVIDED" name="minitest (v5.11.3, rbenv: 2.6.5) [gem]" level="application" />
68
+ <orderEntry type="module-library">
69
+ <library name="rmagick (vbundled(5.1.0)) [path][gem]" type="rubylib">
70
+ <properties>
71
+ <option name="version" value="4" />
72
+ </properties>
73
+ <CLASSES>
74
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/ext" />
75
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/lib" />
76
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.github" />
77
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.devcontainer" />
78
+ </CLASSES>
79
+ <JAVADOC />
80
+ <SOURCES>
81
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/ext" />
82
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/lib" />
83
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.github" />
84
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.devcontainer" />
85
+ </SOURCES>
86
+ <excluded>
87
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/ext" />
88
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.github" />
89
+ <root url="file://$MODULE_DIR$/vendor/bundle/ruby/3.0.0/gems/rmagick-5.1.0/.devcontainer" />
90
+ </excluded>
91
+ </library>
92
+ </orderEntry>
93
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v2.3.19, rbenv: 3.0.4) [gem]" level="application" />
94
+ <orderEntry type="library" scope="PROVIDED" name="rbs (v1.4.0, rbenv: 3.0.4) [gem]" level="application" />
97
95
  </component>
98
96
  </module>
@@ -30,6 +30,7 @@ module Imagetools
30
30
  opt.parse!(argv)
31
31
  image_files = get_image_files(opts, argv)
32
32
  if image_files.size < 2
33
+ puts "Cannot find image files(#{image_files.size})\n"
33
34
  puts opt.help
34
35
  exit
35
36
  end
@@ -53,9 +54,9 @@ module Imagetools
53
54
  end
54
55
  if dir
55
56
  concat_number = opts[:n] || 2
56
- # ディレクトリが指定されていた場合、指定ディレクトリ内のIMG_ファイルの最新n個を対象とする
57
+ # ディレクトリが指定されていた場合、指定ディレクトリ内の画像ファイルの最新n個を対象とする
57
58
  # 最新の基準は(ファイル名基準)
58
- match_files = Dir.glob("#{dir}/IMG_*.{jpg,jpeg,png}", File::FNM_CASEFOLD).sort
59
+ match_files = Dir.glob("#{dir}/*.{jpg,jpeg,png}", File::FNM_CASEFOLD).sort
59
60
  # 後ろからn個を取得(小さい方の数とする)
60
61
  count = [match_files.size, concat_number].min
61
62
  image_files = match_files[-count..-1]
@@ -67,7 +67,7 @@ module Imagetools
67
67
  RESIZE_CMD = "mogrify -background white -resize %dx\\> "
68
68
  ROTATE_CMD = "exiftran -ai "
69
69
  COMPRESS_CMD = "jpegoptim --strip-all --max=90 "
70
- EXTERNAL_CMDS = [RESIZE_CMD, ROTATE_CMD, COMPRESS_CMD]
70
+ EXTERNAL_CMDS = [CONVERT_CMD, RESIZE_CMD, ROTATE_CMD, COMPRESS_CMD, DWEBP_CMD]
71
71
 
72
72
  WEBP_SEARCH = /(.+)\.webp/i
73
73
  WEBP_REPLACE = '\1.png'
@@ -1,3 +1,3 @@
1
1
  module Imagetools
2
- VERSION = "1.5.2"
2
+ VERSION = "1.6.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imagetools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - src
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-03-24 00:00:00.000000000 Z
11
+ date: 2022-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rmagick
@@ -182,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
182
  - !ruby/object:Gem::Version
183
183
  version: '0'
184
184
  requirements: []
185
- rubygems_version: 3.2.22
185
+ rubygems_version: 3.2.33
186
186
  signing_key:
187
187
  specification_version: 4
188
188
  summary: Image Tools.