Method: Pixelart::Image#zoom
- Defined in:
- lib/pixelart/image.rb
#zoom(zoom = 2, spacing: 0) ⇒ Object Also known as: scale
142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/pixelart/image.rb', line 142 def zoom( zoom=2, spacing: 0 ) ## create a new zoom factor x image (2x, 3x, etc.) width = @img.width*zoom+(@img.width-1)*spacing height = @img.height*zoom+(@img.height-1)*spacing img = Image.new( width, height ) @img.width.times do |x| @img.height.times do |y| pixel = @img[x,y] zoom.times do |n| zoom.times do |m| img[n+zoom*x+spacing*x, m+zoom*y+spacing*y] = pixel end end end # each x end # each y img end |