artfactory 0.1.0
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.
- checksums.yaml +7 -0
- data/CHANGELOG.md +3 -0
- data/Manifest.txt +7 -0
- data/README.md +22 -0
- data/Rakefile +39 -0
- data/lib/artfactory/artfactory.rb +77 -0
- data/lib/artfactory/version.rb +26 -0
- data/lib/artfactory.rb +14 -0
- metadata +118 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 599b6c292eeda3bdc04988a887288bda3618f4a5944ad1d6ca8f0f8786f48f23
|
4
|
+
data.tar.gz: 12ca8ed6478b0303c6c7fd911fc85080d777639c85c3bde6ac6abc6e5b6b0a91
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 82782eb8941ef671b07275d9e2e36a2ef0b978269e270ddfb9ec7b1f99fa0e21d009236333849088c23458c5d4a0819f5d0e245914ad35f3ae442510995e3389
|
7
|
+
data.tar.gz: 4df5bc7e3a8940d3712f361d2591fb6b9472a79d03c34d573049eaa1a49148481960649604249e78d112b486235e9f1b83b06486dd49caca6fb4468f7d97addb
|
data/CHANGELOG.md
ADDED
data/Manifest.txt
ADDED
data/README.md
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
|
2
|
+
# Art Factory
|
3
|
+
|
4
|
+
Yes, you can! Generate your own pixel art images (off chain) from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
* home :: [github.com/pixelartexchange/pixelart](https://github.com/pixelartexchange/pixelart)
|
9
|
+
* bugs :: [github.com/pixelartexchange/pixelart/issues](https://github.com/pixelartexchange/pixelart/issues)
|
10
|
+
* gem :: [rubygems.org/gems/artfactory](https://rubygems.org/gems/artfactory)
|
11
|
+
* rdoc :: [rubydoc.info/gems/artfactory](http://rubydoc.info/gems/artfactory)
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
## Usage
|
17
|
+
|
18
|
+
...
|
19
|
+
|
20
|
+
## Questions? Comments?
|
21
|
+
|
22
|
+
Post them on the [D.I.Y. Punk (Pixel) Art reddit](https://old.reddit.com/r/DIYPunkArt). Thanks.
|
data/Rakefile
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'hoe'
|
2
|
+
require './lib/artfactory/version.rb'
|
3
|
+
|
4
|
+
###
|
5
|
+
# hack/ quick fix for broken intuit_values - overwrite with dummy
|
6
|
+
class Hoe
|
7
|
+
def intuit_values( input ); end
|
8
|
+
end
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
Hoe.spec 'artfactory' do
|
13
|
+
|
14
|
+
self.version = Pixelart::Module::Artfactory::VERSION
|
15
|
+
|
16
|
+
self.summary = "artfactory - generate your own pixel art images (off chain) from text attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more"
|
17
|
+
self.description = summary
|
18
|
+
|
19
|
+
self.urls = { home: 'https://github.com/pixelartexchange/pixelart' }
|
20
|
+
|
21
|
+
self.author = 'Gerald Bauer'
|
22
|
+
self.email = 'wwwmake@googlegroups.com'
|
23
|
+
|
24
|
+
# switch extension to .markdown for gihub formatting
|
25
|
+
self.readme_file = 'README.md'
|
26
|
+
self.history_file = 'CHANGELOG.md'
|
27
|
+
|
28
|
+
self.extra_deps = [
|
29
|
+
['pixelart', '>= 1.3.1'],
|
30
|
+
['backgrounds'],
|
31
|
+
]
|
32
|
+
|
33
|
+
self.licenses = ['Public Domain']
|
34
|
+
|
35
|
+
self.spec_extras = {
|
36
|
+
required_ruby_version: '>= 2.3'
|
37
|
+
}
|
38
|
+
|
39
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
####
|
2
|
+
# "simple" generator (no different sizes, genders, etc.)
|
3
|
+
# uses built-in spritesheet for (archetypes &) attributes
|
4
|
+
|
5
|
+
|
6
|
+
|
7
|
+
class Artfactory
|
8
|
+
|
9
|
+
|
10
|
+
def self.read( image_path="./spritesheet.png",
|
11
|
+
meta_path="./spritesheet.csv",
|
12
|
+
width: 24,
|
13
|
+
height: 24 )
|
14
|
+
|
15
|
+
sheet = Pixelart::Spritesheet.read( image_path,
|
16
|
+
meta_path,
|
17
|
+
width: width, height: height )
|
18
|
+
new( sheet )
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.use( sheet ) ### check - allow more sheets - why? why not?
|
22
|
+
new( sheet )
|
23
|
+
end
|
24
|
+
|
25
|
+
|
26
|
+
|
27
|
+
def initialize( sheet )
|
28
|
+
@sheet = sheet
|
29
|
+
end
|
30
|
+
|
31
|
+
def spritesheet() @sheet; end
|
32
|
+
alias_method :sheet, :spritesheet
|
33
|
+
|
34
|
+
|
35
|
+
def to_recs( *values )
|
36
|
+
recs = []
|
37
|
+
|
38
|
+
names = values
|
39
|
+
|
40
|
+
names.each do |name|
|
41
|
+
rec = @sheet.find_meta_by( name: name )
|
42
|
+
if rec.nil?
|
43
|
+
puts "!! ERROR - attribute (metadata record) >#{name}< not found; sorry"
|
44
|
+
exit 1
|
45
|
+
end
|
46
|
+
recs << rec
|
47
|
+
end
|
48
|
+
|
49
|
+
recs
|
50
|
+
end
|
51
|
+
|
52
|
+
|
53
|
+
def generate_image( *values, before: nil )
|
54
|
+
recs = to_recs( *values )
|
55
|
+
|
56
|
+
## note: first construct/generate image on transparent background
|
57
|
+
## add background if present as LAST step
|
58
|
+
img = Pixelart::Image.new( @sheet.image.tile_width,
|
59
|
+
@sheet.image.tile_height )
|
60
|
+
|
61
|
+
recs.each do |rec|
|
62
|
+
## note: before call(back) MUST change image INPLACE!!!!
|
63
|
+
before.call( img, rec ) if before
|
64
|
+
img.compose!( @sheet.image[ rec.id ] )
|
65
|
+
end
|
66
|
+
|
67
|
+
img
|
68
|
+
end
|
69
|
+
alias_method :generate, :generate_image
|
70
|
+
|
71
|
+
end # class Artfactory
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
#############
|
76
|
+
## add convenience alternate spelling - why? why not?
|
77
|
+
ArtFactory = Artfactory
|
@@ -0,0 +1,26 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Pixelart
|
4
|
+
module Module
|
5
|
+
module Artfactory
|
6
|
+
|
7
|
+
MAJOR = 0
|
8
|
+
MINOR = 1
|
9
|
+
PATCH = 0
|
10
|
+
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
11
|
+
|
12
|
+
def self.version
|
13
|
+
VERSION
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.banner
|
17
|
+
"artfactory/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.root
|
21
|
+
File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
|
22
|
+
end
|
23
|
+
|
24
|
+
end # module Artfactory
|
25
|
+
end # module Module
|
26
|
+
end # module Pixelart
|
data/lib/artfactory.rb
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
## 3rd party
|
2
|
+
require 'pixelart/base'
|
3
|
+
require 'backgrounds/base'
|
4
|
+
|
5
|
+
|
6
|
+
## our own code
|
7
|
+
require 'artfactory/version' # note: let version always go first
|
8
|
+
require 'artfactory/artfactory'
|
9
|
+
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
puts Pixelart::Module::Artfactory.banner # say hello
|
metadata
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: artfactory
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Gerald Bauer
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-06-09 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: pixelart
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.1
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.3.1
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: backgrounds
|
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: rdoc
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '7'
|
51
|
+
type: :development
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '4.0'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '7'
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: hoe
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: '3.23'
|
68
|
+
type: :development
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '3.23'
|
75
|
+
description: artfactory - generate your own pixel art images (off chain) from text
|
76
|
+
attributes (via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
|
77
|
+
email: wwwmake@googlegroups.com
|
78
|
+
executables: []
|
79
|
+
extensions: []
|
80
|
+
extra_rdoc_files:
|
81
|
+
- CHANGELOG.md
|
82
|
+
- Manifest.txt
|
83
|
+
- README.md
|
84
|
+
files:
|
85
|
+
- CHANGELOG.md
|
86
|
+
- Manifest.txt
|
87
|
+
- README.md
|
88
|
+
- Rakefile
|
89
|
+
- lib/artfactory.rb
|
90
|
+
- lib/artfactory/artfactory.rb
|
91
|
+
- lib/artfactory/version.rb
|
92
|
+
homepage: https://github.com/pixelartexchange/pixelart
|
93
|
+
licenses:
|
94
|
+
- Public Domain
|
95
|
+
metadata: {}
|
96
|
+
post_install_message:
|
97
|
+
rdoc_options:
|
98
|
+
- "--main"
|
99
|
+
- README.md
|
100
|
+
require_paths:
|
101
|
+
- lib
|
102
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: '2.3'
|
107
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - ">="
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '0'
|
112
|
+
requirements: []
|
113
|
+
rubygems_version: 3.3.7
|
114
|
+
signing_key:
|
115
|
+
specification_version: 4
|
116
|
+
summary: artfactory - generate your own pixel art images (off chain) from text attributes
|
117
|
+
(via spritesheets); incl. 2x/4x/8x zoom for bigger sizes and more
|
118
|
+
test_files: []
|