image_paradise 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of image_paradise might be problematic. Click here for more details.

Files changed (115) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +38 -0
  3. data/README.md +179 -0
  4. data/USAGE.md +10 -0
  5. data/bin/black_white +10 -0
  6. data/bin/display_text_from_this_image +7 -0
  7. data/bin/image_paradise +7 -0
  8. data/bin/image_paradise_shell +7 -0
  9. data/bin/image_to_ascii +54 -0
  10. data/bin/image_to_pdf +7 -0
  11. data/bin/make_this_image_transparent +7 -0
  12. data/bin/rotate_left +7 -0
  13. data/bin/rotate_right +7 -0
  14. data/doc/README.gen +162 -0
  15. data/doc/TODO_FOR_THE_GTK_GUI.md +1 -0
  16. data/image_paradise.gemspec +50 -0
  17. data/lib/image_paradise.rb +5 -0
  18. data/lib/image_paradise/base/base.rb +91 -0
  19. data/lib/image_paradise/black_white.rb +89 -0
  20. data/lib/image_paradise/confree_generator/class.rb +614 -0
  21. data/lib/image_paradise/confree_generator/constants.rb +61 -0
  22. data/lib/image_paradise/confree_generator/gui/gtk_confree_generator.rb +752 -0
  23. data/lib/image_paradise/confree_generator/gui/insert_button.rb +78 -0
  24. data/lib/image_paradise/confree_generator/reset.rb +61 -0
  25. data/lib/image_paradise/confree_generator/shared/shared.rb +100 -0
  26. data/lib/image_paradise/constants.rb +43 -0
  27. data/lib/image_paradise/constants/image_file_types.rb +21 -0
  28. data/lib/image_paradise/create_animated_gif.rb +47 -0
  29. data/lib/image_paradise/crop/crop.rb +302 -0
  30. data/lib/image_paradise/gm_support.rb +34 -0
  31. data/lib/image_paradise/graphs.rb +36 -0
  32. data/lib/image_paradise/graphs/accumulator_bar.rb +29 -0
  33. data/lib/image_paradise/graphs/area.rb +64 -0
  34. data/lib/image_paradise/graphs/bar.rb +117 -0
  35. data/lib/image_paradise/graphs/bar_conversion.rb +53 -0
  36. data/lib/image_paradise/graphs/base.rb +1392 -0
  37. data/lib/image_paradise/graphs/bezier.rb +45 -0
  38. data/lib/image_paradise/graphs/bullet.rb +115 -0
  39. data/lib/image_paradise/graphs/deprecated.rb +42 -0
  40. data/lib/image_paradise/graphs/dot.rb +129 -0
  41. data/lib/image_paradise/graphs/line.rb +328 -0
  42. data/lib/image_paradise/graphs/mini/bar.rb +42 -0
  43. data/lib/image_paradise/graphs/mini/legend.rb +109 -0
  44. data/lib/image_paradise/graphs/mini/pie.rb +42 -0
  45. data/lib/image_paradise/graphs/mini/side_bar.rb +41 -0
  46. data/lib/image_paradise/graphs/net.rb +133 -0
  47. data/lib/image_paradise/graphs/photo_bar.rb +106 -0
  48. data/lib/image_paradise/graphs/pie.rb +139 -0
  49. data/lib/image_paradise/graphs/scatter.rb +264 -0
  50. data/lib/image_paradise/graphs/scene.rb +216 -0
  51. data/lib/image_paradise/graphs/side_bar.rb +144 -0
  52. data/lib/image_paradise/graphs/side_stacked_bar.rb +116 -0
  53. data/lib/image_paradise/graphs/spider.rb +163 -0
  54. data/lib/image_paradise/graphs/stacked_area.rb +73 -0
  55. data/lib/image_paradise/graphs/stacked_bar.rb +68 -0
  56. data/lib/image_paradise/graphs/stacked_mixin.rb +30 -0
  57. data/lib/image_paradise/graphs/themes.rb +117 -0
  58. data/lib/image_paradise/graphviz/README.md +2 -0
  59. data/lib/image_paradise/graphviz/generate_graphviz_image.rb +274 -0
  60. data/lib/image_paradise/gui/gtk/control_panel.rb +126 -0
  61. data/lib/image_paradise/identify.rb +145 -0
  62. data/lib/image_paradise/image_border.rb +231 -0
  63. data/lib/image_paradise/image_manipulations.rb +320 -0
  64. data/lib/image_paradise/image_paradise.rb +150 -0
  65. data/lib/image_paradise/image_to_ascii/image_to_ascii.rb +187 -0
  66. data/lib/image_paradise/image_to_pdf/image_to_pdf.rb +99 -0
  67. data/lib/image_paradise/label/README.md +2 -0
  68. data/lib/image_paradise/label/simple_label.rb +206 -0
  69. data/lib/image_paradise/optimizer.rb +483 -0
  70. data/lib/image_paradise/project/project.rb +29 -0
  71. data/lib/image_paradise/random_text_to_image.rb +363 -0
  72. data/lib/image_paradise/requires/common_base_requires.rb +17 -0
  73. data/lib/image_paradise/requires/require_colours.rb +9 -0
  74. data/lib/image_paradise/requires/require_gtk_components.rb +8 -0
  75. data/lib/image_paradise/requires/require_image_to_ascii.rb +7 -0
  76. data/lib/image_paradise/requires/require_the_image_paradise_project.rb +24 -0
  77. data/lib/image_paradise/requires/require_toplevel_methods.rb +21 -0
  78. data/lib/image_paradise/rotate/README.md +2 -0
  79. data/lib/image_paradise/rotate/rotate.rb +98 -0
  80. data/lib/image_paradise/shell/interactive.rb +156 -0
  81. data/lib/image_paradise/svg/README.md +5 -0
  82. data/lib/image_paradise/svg/circle.rb +106 -0
  83. data/lib/image_paradise/svg/feature.rb +48 -0
  84. data/lib/image_paradise/svg/rectangle.rb +154 -0
  85. data/lib/image_paradise/svg/svg.rb +102 -0
  86. data/lib/image_paradise/to_gif.rb +91 -0
  87. data/lib/image_paradise/to_jpg.rb +90 -0
  88. data/lib/image_paradise/toplevel_methods/add_black_border_to_this_image.rb +56 -0
  89. data/lib/image_paradise/toplevel_methods/crop.rb +28 -0
  90. data/lib/image_paradise/toplevel_methods/e.rb +16 -0
  91. data/lib/image_paradise/toplevel_methods/esystem.rb +19 -0
  92. data/lib/image_paradise/toplevel_methods/extract_text_from_this_image.rb +56 -0
  93. data/lib/image_paradise/toplevel_methods/file_related_code.rb +25 -0
  94. data/lib/image_paradise/toplevel_methods/flip_image_left_right.rb +32 -0
  95. data/lib/image_paradise/toplevel_methods/greyscale_this_image.rb +59 -0
  96. data/lib/image_paradise/toplevel_methods/help.rb +30 -0
  97. data/lib/image_paradise/toplevel_methods/make_this_image_transparent.rb +30 -0
  98. data/lib/image_paradise/toplevel_methods/menu.rb +92 -0
  99. data/lib/image_paradise/toplevel_methods/merge_these_images.rb +49 -0
  100. data/lib/image_paradise/toplevel_methods/mirror_image.rb +28 -0
  101. data/lib/image_paradise/toplevel_methods/misc.rb +31 -0
  102. data/lib/image_paradise/toplevel_methods/png_to_svg.rb +34 -0
  103. data/lib/image_paradise/toplevel_methods/roebe.rb +17 -0
  104. data/lib/image_paradise/toplevel_methods/to_png.rb +105 -0
  105. data/lib/image_paradise/toplevel_methods/wallpaper.rb +37 -0
  106. data/lib/image_paradise/toplevel_methods/write_this_text.rb +76 -0
  107. data/lib/image_paradise/version/version.rb +19 -0
  108. data/test/16x16_red_square_image_for_testing.png +0 -0
  109. data/test/testing_confree_generator.rb +8 -0
  110. data/test/testing_crop.rb +19 -0
  111. data/test/testing_image_magick_commands.rb +39 -0
  112. data/test/testing_image_paradise.rb +49 -0
  113. data/test/testing_the_svg_component.html +261 -0
  114. data/test/testing_the_svg_component.rb +106 -0
  115. metadata +217 -0
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # =========================================================================== #
4
+ require 'image_paradise'
5
+ require 'cliner'
6
+ require 'open_in_browser'
7
+ require 'save_file/autoinclude'
8
+ require 'colours/autoinclude'
9
+
10
+ include ImageParadise
11
+
12
+ e 'Now testing the svg-component of the '+sfancy('image_paradise')+' project.'
13
+
14
+ cliner
15
+ _ = 'Svg::Circle.create'
16
+ e 'Next testing '+simp(_)
17
+ e Svg::Circle.create
18
+
19
+ cliner
20
+ _ = 'Svg.circle(150,150,:blue,5)'
21
+ e 'Next testing '+simp(_)
22
+ e Svg.circle(150,150,:blue,5)
23
+
24
+ cliner
25
+ _ = 'Svg.circle(250,250,:slateblue,15)'
26
+ e 'Next testing '+simp(_)
27
+ e Svg.circle(250,250,:blue,5)
28
+
29
+
30
+ cliner
31
+ _ = 'Svg.circle(colour: :grey, radius: 10)'
32
+ e 'Next testing '+simp(_)
33
+ e Svg.circle(colour: :grey, radius: 10)
34
+
35
+ e 'Next, we will add several more colours.'
36
+ Svg.circle(colour: :random, radius: 8)
37
+ Svg.circle(colour: :random, radius: 8)
38
+ Svg.circle(colour: :random, radius: 8)
39
+ Svg.circle(colour: :random, radius: 8)
40
+ Svg.circle(colour: :random, radius: 8)
41
+ Svg.circle(colour: :random, radius: 8)
42
+ Svg.circle(colour: :random, radius: 8)
43
+ Svg.circle(colour: :random, radius: 8)
44
+ Svg.circle(colour: :random, radius: 8)
45
+ Svg.add_linebreak
46
+ Svg.circle(colour: :random, radius: 1)
47
+ Svg.circle(colour: :random, radius: 2)
48
+ Svg.circle(colour: :random, radius: 3)
49
+ Svg.circle(colour: :random, radius: 4)
50
+ Svg.circle(colour: :random, radius: 5)
51
+ Svg.circle(colour: :random, radius: 6)
52
+ Svg.circle(colour: :random, radius: 7)
53
+ Svg.circle(colour: :random, radius: 8)
54
+ Svg.circle(colour: :random, radius: 9)
55
+ Svg.circle(colour: :random, radius: 10)
56
+ Svg.add_linebreak
57
+ 1.upto(15) {|counter|
58
+ Svg.circle(colour: :chocolate, radius: counter)
59
+ }
60
+
61
+ Svg.add_linebreak
62
+ 1.upto(15) {|counter|
63
+ Svg.circle(colour: :royalblue, radius: counter+2, stroke_width: 5+rand(5))
64
+ }
65
+ Svg.add_linebreak
66
+ _ = 'Now testing rectangle'
67
+ e _
68
+ Svg.add _
69
+ Svg.add_linebreak
70
+ Svg.rectangle # Use default for the rectangle.
71
+ Svg.rectangle fill_colour: :random
72
+ Svg.rectangle fill_colour: :random
73
+ Svg.rectangle fill_colour: :random
74
+ Svg.add_linebreak
75
+
76
+ _ = 'Next testing transparent rectangles (via opacity).'
77
+ e _
78
+ Svg.add _
79
+ Svg.add_linebreak
80
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.1' }
81
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.2' }
82
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.3' }
83
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.4' }
84
+ Svg.add_linebreak
85
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.5' }
86
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.6' }
87
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.7' }
88
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.8' }
89
+ Svg.add_linebreak
90
+ Svg.rectangle(fill_colour: :random) { 'opacity: 0.9' }
91
+ Svg.rectangle(fill_colour: :random) { 'opacity: 1.0' }
92
+ Svg.add_linebreak
93
+ # Testing rounded corners next:
94
+ Svg.rectangle(fill_colour: :random) { 'rounded_corners' }
95
+ Svg.rectangle(fill_colour: :random) { 'rounded_corners' }
96
+ Svg.rectangle(fill_colour: :random) { 'rounded_corners' }
97
+ Svg.rectangle(fill_colour: :random, width: 400, height: 180) { 'rounded_corners' }
98
+ Svg.add_linebreak
99
+
100
+ into = 'testing_the_svg_component.html'
101
+ e 'Storing all these SVG objects into a .html file next (at '+sfile(into)+').'
102
+ _ = '<html>'+Svg[]+'</html>'
103
+ write_what_into(_, into)
104
+
105
+ e 'Next opening this .html page in the browser.'
106
+ OpenInBrowser[into]
metadata ADDED
@@ -0,0 +1,217 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: image_paradise
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.12
5
+ platform: ruby
6
+ authors:
7
+ - Robert A. Heiler
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-12-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: colours
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: opn
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: save_file
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ description: "\nThis project, called image_paradise, allows you to manipulate images,\nprimarily
56
+ by using ImageMagick.\n\nFor a more complete overview, have a look at the documentation,
57
+ but\njust to give an overview - it is possible to animate .gif files,\nmake use
58
+ of gruff, or batch-generate automatically created\nimage files through confree_generator
59
+ (if you have cfdg \ninstalled). Images can be cropped through the toplevel method\nImageParadise.crop().
60
+ class Optimizer can be used to optimize .jpg\nand .png files, if pngquant is installed.\n\n"
61
+ email: shevegen@gmail.com
62
+ executables:
63
+ - image_paradise_shell
64
+ - display_text_from_this_image
65
+ - image_to_ascii
66
+ - image_paradise
67
+ - image_to_pdf
68
+ - make_this_image_transparent
69
+ - rotate_right
70
+ - black_white
71
+ - rotate_left
72
+ extensions: []
73
+ extra_rdoc_files: []
74
+ files:
75
+ - LICENSE.md
76
+ - README.md
77
+ - USAGE.md
78
+ - bin/black_white
79
+ - bin/display_text_from_this_image
80
+ - bin/image_paradise
81
+ - bin/image_paradise_shell
82
+ - bin/image_to_ascii
83
+ - bin/image_to_pdf
84
+ - bin/make_this_image_transparent
85
+ - bin/rotate_left
86
+ - bin/rotate_right
87
+ - doc/README.gen
88
+ - doc/TODO_FOR_THE_GTK_GUI.md
89
+ - image_paradise.gemspec
90
+ - lib/image_paradise.rb
91
+ - lib/image_paradise/base/base.rb
92
+ - lib/image_paradise/black_white.rb
93
+ - lib/image_paradise/confree_generator/class.rb
94
+ - lib/image_paradise/confree_generator/constants.rb
95
+ - lib/image_paradise/confree_generator/gui/gtk_confree_generator.rb
96
+ - lib/image_paradise/confree_generator/gui/insert_button.rb
97
+ - lib/image_paradise/confree_generator/reset.rb
98
+ - lib/image_paradise/confree_generator/shared/shared.rb
99
+ - lib/image_paradise/constants.rb
100
+ - lib/image_paradise/constants/image_file_types.rb
101
+ - lib/image_paradise/create_animated_gif.rb
102
+ - lib/image_paradise/crop/crop.rb
103
+ - lib/image_paradise/gm_support.rb
104
+ - lib/image_paradise/graphs.rb
105
+ - lib/image_paradise/graphs/accumulator_bar.rb
106
+ - lib/image_paradise/graphs/area.rb
107
+ - lib/image_paradise/graphs/bar.rb
108
+ - lib/image_paradise/graphs/bar_conversion.rb
109
+ - lib/image_paradise/graphs/base.rb
110
+ - lib/image_paradise/graphs/bezier.rb
111
+ - lib/image_paradise/graphs/bullet.rb
112
+ - lib/image_paradise/graphs/deprecated.rb
113
+ - lib/image_paradise/graphs/dot.rb
114
+ - lib/image_paradise/graphs/line.rb
115
+ - lib/image_paradise/graphs/mini/bar.rb
116
+ - lib/image_paradise/graphs/mini/legend.rb
117
+ - lib/image_paradise/graphs/mini/pie.rb
118
+ - lib/image_paradise/graphs/mini/side_bar.rb
119
+ - lib/image_paradise/graphs/net.rb
120
+ - lib/image_paradise/graphs/photo_bar.rb
121
+ - lib/image_paradise/graphs/pie.rb
122
+ - lib/image_paradise/graphs/scatter.rb
123
+ - lib/image_paradise/graphs/scene.rb
124
+ - lib/image_paradise/graphs/side_bar.rb
125
+ - lib/image_paradise/graphs/side_stacked_bar.rb
126
+ - lib/image_paradise/graphs/spider.rb
127
+ - lib/image_paradise/graphs/stacked_area.rb
128
+ - lib/image_paradise/graphs/stacked_bar.rb
129
+ - lib/image_paradise/graphs/stacked_mixin.rb
130
+ - lib/image_paradise/graphs/themes.rb
131
+ - lib/image_paradise/graphviz/README.md
132
+ - lib/image_paradise/graphviz/generate_graphviz_image.rb
133
+ - lib/image_paradise/gui/gtk/control_panel.rb
134
+ - lib/image_paradise/identify.rb
135
+ - lib/image_paradise/image_border.rb
136
+ - lib/image_paradise/image_manipulations.rb
137
+ - lib/image_paradise/image_paradise.rb
138
+ - lib/image_paradise/image_to_ascii/image_to_ascii.rb
139
+ - lib/image_paradise/image_to_pdf/image_to_pdf.rb
140
+ - lib/image_paradise/label/README.md
141
+ - lib/image_paradise/label/simple_label.rb
142
+ - lib/image_paradise/optimizer.rb
143
+ - lib/image_paradise/project/project.rb
144
+ - lib/image_paradise/random_text_to_image.rb
145
+ - lib/image_paradise/requires/common_base_requires.rb
146
+ - lib/image_paradise/requires/require_colours.rb
147
+ - lib/image_paradise/requires/require_gtk_components.rb
148
+ - lib/image_paradise/requires/require_image_to_ascii.rb
149
+ - lib/image_paradise/requires/require_the_image_paradise_project.rb
150
+ - lib/image_paradise/requires/require_toplevel_methods.rb
151
+ - lib/image_paradise/rotate/README.md
152
+ - lib/image_paradise/rotate/rotate.rb
153
+ - lib/image_paradise/shell/interactive.rb
154
+ - lib/image_paradise/svg/README.md
155
+ - lib/image_paradise/svg/circle.rb
156
+ - lib/image_paradise/svg/feature.rb
157
+ - lib/image_paradise/svg/rectangle.rb
158
+ - lib/image_paradise/svg/svg.rb
159
+ - lib/image_paradise/to_gif.rb
160
+ - lib/image_paradise/to_jpg.rb
161
+ - lib/image_paradise/toplevel_methods/add_black_border_to_this_image.rb
162
+ - lib/image_paradise/toplevel_methods/crop.rb
163
+ - lib/image_paradise/toplevel_methods/e.rb
164
+ - lib/image_paradise/toplevel_methods/esystem.rb
165
+ - lib/image_paradise/toplevel_methods/extract_text_from_this_image.rb
166
+ - lib/image_paradise/toplevel_methods/file_related_code.rb
167
+ - lib/image_paradise/toplevel_methods/flip_image_left_right.rb
168
+ - lib/image_paradise/toplevel_methods/greyscale_this_image.rb
169
+ - lib/image_paradise/toplevel_methods/help.rb
170
+ - lib/image_paradise/toplevel_methods/make_this_image_transparent.rb
171
+ - lib/image_paradise/toplevel_methods/menu.rb
172
+ - lib/image_paradise/toplevel_methods/merge_these_images.rb
173
+ - lib/image_paradise/toplevel_methods/mirror_image.rb
174
+ - lib/image_paradise/toplevel_methods/misc.rb
175
+ - lib/image_paradise/toplevel_methods/png_to_svg.rb
176
+ - lib/image_paradise/toplevel_methods/roebe.rb
177
+ - lib/image_paradise/toplevel_methods/to_png.rb
178
+ - lib/image_paradise/toplevel_methods/wallpaper.rb
179
+ - lib/image_paradise/toplevel_methods/write_this_text.rb
180
+ - lib/image_paradise/version/version.rb
181
+ - test/16x16_red_square_image_for_testing.png
182
+ - test/testing_confree_generator.rb
183
+ - test/testing_crop.rb
184
+ - test/testing_image_magick_commands.rb
185
+ - test/testing_image_paradise.rb
186
+ - test/testing_the_svg_component.html
187
+ - test/testing_the_svg_component.rb
188
+ homepage: https://rubygems.org/gems/image_paradise
189
+ licenses:
190
+ - GPL-2.0
191
+ metadata: {}
192
+ post_install_message:
193
+ rdoc_options: []
194
+ require_paths:
195
+ - lib
196
+ required_ruby_version: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 2.7.2
201
+ required_rubygems_version: !ruby/object:Gem::Requirement
202
+ requirements:
203
+ - - ">="
204
+ - !ruby/object:Gem::Version
205
+ version: 3.1.4
206
+ requirements: []
207
+ rubygems_version: 3.1.4
208
+ signing_key:
209
+ specification_version: 4
210
+ summary: This project, called image_paradise, allows you to manipulate images, primarily
211
+ by using ImageMagick. For a more complete overview, have a look at the documentation,
212
+ but just to give an overview - it is possible to animate .gif files, make use of
213
+ gruff, or batch-generate automatically created image files through confree_generator
214
+ (if you have cfdg installed). Images can be cropped through the toplevel method
215
+ ImageParadise.crop(). class Optimizer can be used to optimize .jpg and .png files,
216
+ if pngquant is installed.
217
+ test_files: []