pixelart 1.3.4 → 1.3.5

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: 07a749afe60b5174e207574ab916bfd4a41dd844897ec1375947b170cb155fb9
4
- data.tar.gz: 4a5f82ec221fb71a3d4db47cb131d86a8f4c778b3eaaae22f42c55492025e4c5
3
+ metadata.gz: 43bc0ad17527099593a49e143036c875bf93fc61873d551252a19376490734fd
4
+ data.tar.gz: c57fdb4d5241915767f4480a698f3f362d25c53f99805050b8c8dd4c2ca9ec27
5
5
  SHA512:
6
- metadata.gz: 10845c93bda5c7ab3186e84b4621028a435eda87dca9c5e651f5259dc482c9d3d00a3da72054a262a43baa79e18e3f82cca7960bb15b1076a7ed2c121caf1d17
7
- data.tar.gz: 5c77a94549a22310c07f08e380a1029d538e7e2d5eced92b24ce65a64824e2ecfb9374f03184edfb480e1d8fa2ca6cbfc22cf8ba09d30459ca995080a0f9defd
6
+ metadata.gz: 742db57f909288c2a19105244951f676c99723544be749e60544d3576f326f323ec00bcdf0ea9fbeef0e6a6a0d55771f5ad06a7e5fe1a32814b6f509bc472be4
7
+ data.tar.gz: 2b7d05f9e4ab9a4f4348b3fb7b7f1f5b36ee884b4db3bae901479c84c4dac0207f67f56ba140319a45bd1704c9af14075ef7dfc3ef20897476dfc5bf242a509c
data/Rakefile CHANGED
@@ -18,10 +18,10 @@ Hoe.spec 'pixelart' do
18
18
  self.history_file = 'CHANGELOG.md'
19
19
 
20
20
  self.extra_deps = [
21
+ ['cocos'],
21
22
  ['pixelart-colors'],
22
23
  ['chunky_png'],
23
24
  ['mini_magick'],
24
- ['csvreader'],
25
25
  ]
26
26
 
27
27
  self.licenses = ['Public Domain']
data/lib/pixelart/base.rb CHANGED
@@ -1,3 +1,7 @@
1
+ require 'cocos'
2
+ require 'base64'
3
+
4
+
1
5
  ###
2
6
  # base module
3
7
  require 'pixelart/colors'
@@ -13,10 +17,6 @@ require 'chunky_png'
13
17
  require 'mini_magick'
14
18
 
15
19
 
16
- # bonus / prologue / convenience 3rd party
17
- require 'csvreader'
18
-
19
-
20
20
 
21
21
  ## our own code
22
22
  require 'pixelart/version' # note: let version always go first
@@ -2,12 +2,42 @@ module Pixelart
2
2
 
3
3
  class Image
4
4
 
5
+
6
+ ## keep track of all (inherited) subclasses via inherited hook
7
+ ##
8
+ ## change/rename to descendants - why? why not?
9
+ ##
10
+ ## note about rails (activesupport?)
11
+ ## If you use rails >= 3, you have two options in place.
12
+ ## Use .descendants if you want more than one level depth of children classes,
13
+ ## or use .subclasses for the first level of child classes.
14
+
15
+ def self.subclasses
16
+ @subclasses ||= []
17
+ end
18
+
19
+ def self.inherited( subclass )
20
+ subclasses << subclass
21
+ end
22
+
23
+
24
+
25
+
26
+
5
27
  def self.read( path ) ## convenience helper
6
28
  img_inner = ChunkyPNG::Image.from_file( path )
7
29
  img = new( img_inner.width, img_inner.height, img_inner )
8
30
  img
9
31
  end
10
32
 
33
+ def self.parse_base64( str )
34
+ blob = Base64.decode64( str )
35
+ img_inner = ChunkyPNG::Image.from_blob( blob )
36
+ img = new( img_inner.width, img_inner.height, img_inner )
37
+ img
38
+ end
39
+
40
+
11
41
 
12
42
 
13
43
  CHARS = '.@xo^~%*+=:' ## todo/check: rename to default chars or such? why? why not?
@@ -95,6 +125,16 @@ def crop( x, y, crop_width, crop_height )
95
125
  end
96
126
 
97
127
 
128
+ ## shift image n-pixels to the left (NOT changing width/height)
129
+ def left( left )
130
+ img = Image.new( width, height )
131
+ img.compose!( crop( 0, 0, width-left, height ), left, 0 )
132
+ img
133
+ end
134
+
135
+
136
+
137
+
98
138
 
99
139
  #######################
100
140
  ## filter / effects
@@ -106,19 +146,29 @@ end
106
146
  alias_method :greyscale, :grayscale
107
147
 
108
148
 
109
-
110
- def flip
111
- img = @img.flip
149
+ ######################
150
+ # flip horizontally on x-axis (top-to-bottom/bottom-to-top)
151
+ # e.g. pixels on the top will now be pixels on the bottom
152
+ def flip_horizontally
153
+ img = @img.flip_horizontally
112
154
  Image.new( img.width, img.height, img )
113
155
  end
114
- alias_method :flip_horizontally, :flip
156
+ ## keep flop? alias - why? why not?
157
+ ## note: chunky_png use flip alias for flip_horizontally!!!!
158
+ alias_method :flop, :flip_horizontally
159
+
115
160
 
161
+ ###
162
+ # flip vertially on y-axis (right-to-left/left-to-right)
163
+ # e.g. pixels on the left will now be pixels on the right
116
164
  def mirror
117
165
  img = @img.mirror
118
166
  Image.new( img.width, img.height, img )
119
167
  end
120
168
  alias_method :flip_vertically, :mirror
121
- alias_method :flop, :mirror
169
+ alias_method :flip, :mirror ## note: chunky_png use flip alias for flip_horizontally (top-to-bottom)!!!!
170
+ alias_method :phlip, :mirror ## philip the intern ("hand-phlip one-by-one")
171
+ alias_method :hand_phlip, :mirror
122
172
 
123
173
 
124
174
  def rotate_counter_clockwise # 90 degrees
@@ -3,7 +3,7 @@ module Pixelart
3
3
 
4
4
  MAJOR = 1
5
5
  MINOR = 3
6
- PATCH = 4
6
+ PATCH = 5
7
7
  VERSION = [MAJOR,MINOR,PATCH].join('.')
8
8
 
9
9
  def self.version
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pixelart
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-07-09 00:00:00.000000000 Z
11
+ date: 2022-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: pixelart-colors
14
+ name: cocos
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -25,7 +25,7 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: chunky_png
28
+ name: pixelart-colors
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: mini_magick
42
+ name: chunky_png
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,7 +53,7 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: csvreader
56
+ name: mini_magick
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - ">="