mirror of https://github.com/aseprite/aseprite.git
				
				
				
			
		
			
				
	
	
		
			73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Lua
		
	
	
	
| -- Copyright (C) 2018  David Capello
 | |
| --
 | |
| -- This file is released under the terms of the MIT license.
 | |
| -- Read LICENSE.txt for more information.
 | |
| 
 | |
| local pc = app.pixelColor
 | |
| 
 | |
| -- Iterate pixels
 | |
| do
 | |
|    local spr = Sprite(2, 2)
 | |
|    local image = app.site.image
 | |
|    local colors = { pc.rgba(255, 0, 0, 255),
 | |
|                     pc.rgba(0, 255, 0, 255),
 | |
|                     pc.rgba(255, 0, 255, 255),
 | |
|                     pc.rgba(255, 0, 255, 255) }
 | |
|    local xy = {
 | |
|       { x=0, y=0 },
 | |
|       { x=1, y=0 },
 | |
|       { x=0, y=1 },
 | |
|       { x=1, y=1 } }
 | |
| 
 | |
|    local c = 1
 | |
|    for y=0,image.height-1 do
 | |
|       for x=0,image.width-1 do
 | |
|          image:putPixel(x, y, colors[c])
 | |
|          c = c+1
 | |
|       end
 | |
|    end
 | |
| 
 | |
|    c = 1
 | |
|    for y=0,image.height-1 do
 | |
|       for x=0,image.width-1 do
 | |
|          assert(colors[c] == image:getPixel(x, y))
 | |
|          c = c+1
 | |
|       end
 | |
|    end
 | |
| 
 | |
|    c = 1
 | |
|    for it in image:pixels() do
 | |
|       assert(colors[c] == it())
 | |
|       assert(xy[c].x == it.x)
 | |
|       assert(xy[c].y == it.y)
 | |
|       c = c+1
 | |
|    end
 | |
| 
 | |
|    c = 0
 | |
|    for it in image:pixels{x=1, y=0, width=1, height=2} do
 | |
|      local i = 1 + it.y*2 + it.x
 | |
|      assert(colors[i] == it())
 | |
|      assert(xy[i].x == it.x)
 | |
|      assert(xy[i].y == it.y)
 | |
|      c = c + 1
 | |
|    end
 | |
|    assert(c == 2)
 | |
| 
 | |
|    -- Iterating outside
 | |
|    for it in image:pixels{x=2, y=0, width=2, height=2} do
 | |
|      assert(false)
 | |
|    end
 | |
| 
 | |
|    c = 1
 | |
|    for it in image:pixels() do
 | |
|       it(pc.rgba(255, 32*c, 0, 255))
 | |
|       c = c+1
 | |
|    end
 | |
| 
 | |
|    c = 1
 | |
|    for it in image:pixels() do
 | |
|       assert(pc.rgba(255, 32*c, 0, 255) == it())
 | |
|       c = c+1
 | |
|    end
 | |
| end
 |