Advertisement
Guest User

TSM

a guest
Feb 6th, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 3.16 KB | None | 0 0
  1. os.loadAPI("TabletAPI")
  2. local gpu = peripheral.wrap("right")
  3. local _x, _y = gpu.getSize()
  4. local r = 0
  5. local b = 0
  6. local g = 0
  7. local s = 1
  8. local Pixels = {}
  9. local Z = 4
  10.  
  11.  
  12. TabletAPI.clear(gpu)
  13.  
  14. function Zoom(number)
  15.   for y = 1, _y/number do
  16.     for x = 1, _x/number do
  17.       gpu.setColor(200, 200, 200)
  18.       gpu.rectangle((x*number)-number, (y*number)-number, number, number)
  19.     end
  20.   end
  21.   for y = 1, _y/(number*16) do
  22.     for x = 1, _x/(number*16) do
  23.       gpu.setColor(160, 160, 160)
  24.       gpu.rectangle((x*(number*16))-(number*16), (y*(number*16))-(number*16), number*16, number*16)
  25.     end
  26.   end
  27. end
  28.  
  29. local function drawBar()
  30.   gpu.setColor(141, 141, 141)
  31.   gpu.filledRectangle(0, _y-30, _x, _y)
  32.   gpu.setColor(81, 81, 81)
  33.   gpu.filledRectangle(0, _y-30, _x, 1)
  34.   gpu.setColor(0, 0, 0)
  35.   gpu.drawText("R: "..r, 1, _y-27)
  36.   gpu.drawText("G: "..g, 1, _y-18)
  37.   gpu.drawText("B: "..b, 1, _y-9)
  38.   if s == 1 then
  39.     gpu.setColor(255, 0, 0)
  40.     gpu.drawText("R: "..r, 1, _y-27)
  41.   elseif s == 2 then
  42.     gpu.setColor(0, 155, 0)
  43.     gpu.drawText("G: "..g, 1, _y-18)
  44.   elseif s == 3 then
  45.     gpu.setColor(0, 0, 255)
  46.     gpu.drawText("B: "..b, 1, _y-9)
  47.   end
  48.   gpu.setColor(81, 81, 81)
  49.   gpu.filledRectangle(35, _y-30, 1, 30)
  50.   gpu.setColor(r, g, b)
  51.   gpu.filledRectangle(40, _y-25, 20, 20)
  52. end
  53.  
  54. function drawPixels(Pixels)
  55.   for i = 1, #Pixels do
  56.     print(i)
  57.     gpu.setColor(Pixels[i][3], Pixels[i][4], Pixels[i][5])
  58.        gpu.filledRectangle(Pixels[i][1]*Z, Pixels[i][2]*Z, Z, Z)
  59.   end
  60.   print("Done")
  61. end
  62.  
  63. Zoom(Z)
  64.  
  65. while true do
  66.   sleep(0)
  67.   drawPixels(Pixels)
  68.   drawBar()
  69.   ev, key, x, y = os.pullEvent()
  70.   if ev == "key" then
  71.   if key == keys.z then
  72.     if Z < 16 then
  73.       gpu.setColor(255, 255, 255)
  74.       gpu.fill()
  75.       Zoom(Z+1)
  76.       Z = Z + 1
  77.     end
  78.   elseif key == keys.x then
  79.     if Z > 4 then
  80.       gpu.setColor(255, 255, 255)
  81.       gpu.fill()
  82.       Zoom(Z-1)
  83.       Z = Z - 1
  84.     end
  85.   elseif key == keys.s then
  86.     file = fs.open("5", "w")
  87.     file.write("return "..textutils.serialize(Pixels))
  88.     file.close()
  89.   elseif key == keys.up then
  90.     if s == 1 then
  91.       s = 3
  92.     else
  93.       s = s - 1
  94.     end
  95.   elseif key == keys.down then
  96.     if s == 3 then
  97.       s = 1
  98.     else
  99.       s = s + 1
  100.     end
  101.   elseif key == keys.left then
  102.     if s == 1 then
  103.       if r == 0 then
  104.         r = 255
  105.       else
  106.         r = r - 1
  107.       end
  108.     elseif s == 2 then
  109.       if g == 0 then
  110.         g = 255
  111.       else
  112.         g = g - 1
  113.       end
  114.     elseif s == 3 then
  115.       if b == 0 then
  116.         b = 255
  117.       else
  118.         b = b - 1
  119.       end
  120.     end
  121.   elseif key == keys.right then
  122.     if s == 1 then
  123.       if r == 255 then
  124.         r = 0
  125.       else
  126.         r = r + 1
  127.       end
  128.     elseif s == 2 then
  129.       if g == 255 then
  130.         g = 0
  131.       else
  132.         g = g + 1
  133.       end
  134.     elseif s == 3 then
  135.       if b == 255 then
  136.         b = 0
  137.       else
  138.         b = b + 1
  139.       end
  140.     end
  141.   end
  142.   elseif ev == "monitor_down" or ev == "monitor_move" then
  143.     if key == 0 then
  144.       Pixels[#Pixels+1] = {math.ceil(x/Z), math.ceil(y/Z), r, g, b}
  145.        elseif key == 1 then        
  146.        end
  147.   end
  148. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement