From f5a484d28a36dbab3af5f268205dca9a4cb21b49 Mon Sep 17 00:00:00 2001 From: David Capello Date: Thu, 30 Aug 2018 23:23:31 -0300 Subject: [PATCH] Add some tests for Image() --- scripts/image.lua | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 scripts/image.lua diff --git a/scripts/image.lua b/scripts/image.lua new file mode 100644 index 000000000..01e58a1d3 --- /dev/null +++ b/scripts/image.lua @@ -0,0 +1,53 @@ +-- Copyright (C) 2018 David Capello +-- +-- This file is released under the terms of the MIT license. +-- Read LICENSE.txt for more information. + +local a = Image(32, 64) +assert(a.width == 32) +assert(a.height == 64) +assert(a.colorMode == ColorMode.RGB) -- RGB by default + +local b = Image(32, 64, ColorMode.INDEXED) +assert(b.width == 32) +assert(b.height == 64) +assert(b.colorMode == ColorMode.INDEXED) + +-- Get/put RGBA pixels +local pc = app.pixelColor +for y=0,a.height-1 do + for x=0,a.width-1 do + a:putPixel(x, y, pc.rgba(x, y, x+y, x-y)) + end +end + +-- Clone +local c = a:clone() +assert(c.width == 32) +assert(c.height == 64) +assert(c.colorMode == ColorMode.RGB) + +-- Get RGB pixels +for y=0,c.height-1 do + for x=0,c.width-1 do + assert(c:getPixel(x, y) == pc.rgba(x, y, x+y, x-y)) + end +end + +-- Patch +local pc = app.pixelColor +local spr = Sprite(256, 256) +local image = app.site.image +local copy = image:clone() +assert(image:getPixel(0, 0) == 0) +for y=0,copy.height-1 do + for x=0,copy.width-1 do + copy:putPixel(x, y, pc.rgba(255-x, 255-y, 0, 255)) + end +end +image:putImage(copy) +assert(image:getPixel(0, 0) == pc.rgba(255, 255, 0, 255)) +assert(image:getPixel(255, 255) == pc.rgba(0, 0, 0, 255)) +app.undo() +assert(image:getPixel(0, 0) == pc.rgba(0, 0, 0, 0)) +assert(image:getPixel(255, 255) == pc.rgba(0, 0, 0, 0))