Advertisement
Goomisica

Untitled

Jun 24th, 2025
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.66 KB | None | 0 0
  1. local blits = {}
  2.  
  3. function getBlitRepresentation(r, g, b)
  4.    
  5.     local pixCompVal = r*r*2 + g*g*4 + b*b*3
  6.    
  7.     local minimumDiff = 999999
  8.     local diffNum = 0
  9.     for i=1, #blits, 1 do
  10.         if math.abs(pixCompVal-blits[i]) <= minimumDiff then
  11.             diffNum = i
  12.             minimumDiff = blits[i]
  13.         end
  14.     end
  15.     if diffNum < 11 then
  16.         return tostring(diffNum)
  17.     end
  18.     if diffNum == 11 then
  19.         return "a"
  20.     end
  21.     if diffNum == 12 then
  22.         return "b"
  23.     end
  24.     if diffNum == 13 then
  25.         return "c"
  26.     end
  27.     if diffNum == 14 then
  28.         return "d"
  29.     end
  30.     if diffNum == 15 then
  31.         return "e"
  32.     end
  33.     if diffNum == 16 then
  34.         return "f"
  35.     end
  36. end
  37.  
  38.  
  39.  
  40.  
  41. local monitor = peripheral.find("monitor")
  42. term.redirect(monitor)
  43.  
  44. local xSize, ySize = term.getSize()
  45.  
  46.  
  47. local response = http.get("http://76.166.141.1/rest/mcImageConversion.php", {["Target-Image"] = "https://cataas.com/cat/cute", ["X"] = tostring(xSize), ["Y"] = tostring(ySize)})
  48. local str = response.readAll()
  49.  
  50. local pixArr = {}
  51.  
  52. for pixCol in string.gmatch(str, "[^%s]+") do
  53.     table.insert(pixArr, pixCol)  
  54. end
  55.  
  56. blits[1] = tonumber(pixArr[1])*tonumber(pixArr[1])*2 + tonumber(pixArr[2])*tonumber(pixArr[2])*4 + tonumber(pixArr[3])*tonumber(pixArr[3])*3
  57. term.setPallateColor(colors.white, blits[1])
  58.  
  59. blits[2] = tonumber(pixArr[4])*tonumber(pixArr[4])*2 + tonumber(pixArr[5])*tonumber(pixArr[5])*4 + tonumber(pixArr[6])*tonumber(pixArr[6])*3
  60. term.setPallateColor(colors.white, blits[2])
  61.  
  62. blits[3] = tonumber(pixArr[7])*tonumber(pixArr[7])*2 + tonumber(pixArr[8])*tonumber(pixArr[8])*4 + tonumber(pixArr[9])*tonumber(pixArr[9])*3
  63. term.setPallateColor(colors.white, blits[3])
  64.  
  65. blits[4] = tonumber(pixArr[10])*tonumber(pixArr[10])*2 + tonumber(pixArr[11])*tonumber(pixArr[11])*4 + tonumber(pixArr[12])*tonumber(pixArr[12])*3
  66. term.setPallateColor(colors.white, blits[4])
  67.  
  68. blits[5] = tonumber(pixArr[13])*tonumber(pixArr[13])*2 + tonumber(pixArr[14])*tonumber(pixArr[14])*4 + tonumber(pixArr[15])*tonumber(pixArr[15])*3
  69. term.setPallateColor(colors.white, blits[5])
  70.  
  71. blits[6] = tonumber(pixArr[16])*tonumber(pixArr[16])*2 + tonumber(pixArr[17])*tonumber(pixArr[17])*4 + tonumber(pixArr[18])*tonumber(pixArr[18])*3
  72. term.setPallateColor(colors.white, blits[6])
  73.  
  74. blits[7] = tonumber(pixArr[19])*tonumber(pixArr[19])*2 + tonumber(pixArr[20])*tonumber(pixArr[20])*4 + tonumber(pixArr[21])*tonumber(pixArr[21])*3
  75. term.setPallateColor(colors.white, blits[7])
  76.  
  77. blits[8] = tonumber(pixArr[22])*tonumber(pixArr[22])*2 + tonumber(pixArr[23])*tonumber(pixArr[23])*4 + tonumber(pixArr[24])*tonumber(pixArr[24])*3
  78. term.setPallateColor(colors.white, blits[8])
  79.  
  80. blits[9] = tonumber(pixArr[25])*tonumber(pixArr[25])*2 + tonumber(pixArr[26])*tonumber(pixArr[26])*4 + tonumber(pixArr[27])*tonumber(pixArr[27])*3
  81. term.setPallateColor(colors.white, blits[9])
  82.  
  83. blits[10] = tonumber(pixArr[28])*tonumber(pixArr[28])*2 + tonumber(pixArr[29])*tonumber(pixArr[29])*4 + tonumber(pixArr[30])*tonumber(pixArr[30])*3
  84. term.setPallateColor(colors.white, blits[10])
  85.  
  86. blits[11] = tonumber(pixArr[31])*tonumber(pixArr[31])*2 + tonumber(pixArr[32])*tonumber(pixArr[32])*4 + tonumber(pixArr[33])*tonumber(pixArr[33])*3
  87. term.setPallateColor(colors.white, blits[11])
  88.  
  89. blits[12] = tonumber(pixArr[34])*tonumber(pixArr[34])*2 + tonumber(pixArr[35])*tonumber(pixArr[35])*4 + tonumber(pixArr[36])*tonumber(pixArr[36])*3
  90. term.setPallateColor(colors.white, blits[12])
  91.  
  92. blits[13] = tonumber(pixArr[37])*tonumber(pixArr[37])*2 + tonumber(pixArr[38])*tonumber(pixArr[38])*4 + tonumber(pixArr[39])*tonumber(pixArr[39])*3
  93. term.setPallateColor(colors.white, blits[13])
  94.  
  95. blits[14] = tonumber(pixArr[40])*tonumber(pixArr[40])*2 + tonumber(pixArr[41])*tonumber(pixArr[41])*4 + tonumber(pixArr[42])*tonumber(pixArr[42])*3
  96. term.setPallateColor(colors.white, blits[14])
  97.  
  98. blits[15] = tonumber(pixArr[43])*tonumber(pixArr[43])*2 + tonumber(pixArr[44])*tonumber(pixArr[44])*4 + tonumber(pixArr[45])*tonumber(pixArr[45])*3
  99. term.setPallateColor(colors.white, blits[15])
  100.  
  101. blits[16] = tonumber(pixArr[46])*tonumber(pixArr[46])*2 + tonumber(pixArr[47])*tonumber(pixArr[47])*4 + tonumber(pixArr[48])*tonumber(pixArr[48])*3
  102. term.setPallateColor(colors.white, blits[16])
  103.  
  104. local xCol = 1
  105. local yCol = 1
  106.  
  107. term.setBackgroundColor(colors.black)
  108. term.clear()
  109.  
  110. for i=49, table.getn(pixArr), 3 do
  111.    
  112.     term.setCursorPos(xCol, yCol)
  113.    
  114.     local blitChar = getBlitRepresentation(tonumber(pixArr[i]), tonumber(pixArr[i+1]), tonumber(pixArr[i+2]))
  115.     term.blit(" ", " ", blitChar)
  116.    
  117.     xCol = xCol + 1
  118.     if xCol > xSize then
  119.         yCol = yCol + 1
  120.         xCol = 1
  121.     end
  122. end
  123.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement