Minor Changes
I changed how the status of the conversion appears, and it now shows you how much the data's been compressed once it's been converted to a PNG file.
This commit is contained in:
parent
b5b2c1e4b9
commit
81add95db4
@ -5,6 +5,10 @@
|
|||||||
# each ASCII character takes up a 0-127 space, meaning we can fit at least 1 ASCII character into each channel of a given pixel in an image!
|
# each ASCII character takes up a 0-127 space, meaning we can fit at least 1 ASCII character into each channel of a given pixel in an image!
|
||||||
# we need to assign the numeric value of a series of ASCII characters to each of the channels of each pixel of an image!
|
# we need to assign the numeric value of a series of ASCII characters to each of the channels of each pixel of an image!
|
||||||
|
|
||||||
|
# ensure proper division
|
||||||
|
from __future__ import division
|
||||||
|
import os
|
||||||
|
|
||||||
# make list from string
|
# make list from string
|
||||||
fileName = raw_input("Give me a file to pixelize:\n")
|
fileName = raw_input("Give me a file to pixelize:\n")
|
||||||
#fileName = ""
|
#fileName = ""
|
||||||
@ -18,12 +22,14 @@ listLength = len(dataList)
|
|||||||
|
|
||||||
import math
|
import math
|
||||||
width = int(math.ceil(math.sqrt(listLength/3)))
|
width = int(math.ceil(math.sqrt(listLength/3)))
|
||||||
|
#width = int(math.ceil(listLength/3))+1
|
||||||
|
|
||||||
#print "width: " + str(width)
|
#print "width: " + str(width)
|
||||||
|
|
||||||
# make the image
|
# make the image
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
image = Image.new('RGB',(width,width),color=0)
|
image = Image.new('RGB',(width,width),color=0)
|
||||||
|
#image = Image.new('RGB',(width,1),color=0)
|
||||||
|
|
||||||
# load the temp image and store the ASCII value in one of its pixels
|
# load the temp image and store the ASCII value in one of its pixels
|
||||||
px = image.load()
|
px = image.load()
|
||||||
@ -55,10 +61,18 @@ for q in range(0,width):
|
|||||||
#print gVal
|
#print gVal
|
||||||
#print bVal
|
#print bVal
|
||||||
|
|
||||||
print str(index) + "/" + str(listLength) + " done"
|
#print str(index+1) + "/" + str(listLength) + " done"
|
||||||
|
currentProgress = 100 * ((index + 1) / listLength)
|
||||||
|
print("{:.4f}%".format(currentProgress))
|
||||||
index += 3
|
index += 3
|
||||||
|
|
||||||
|
print("Finished!")
|
||||||
|
|
||||||
|
#image.show()
|
||||||
|
image.save("CONVERTED.png")
|
||||||
|
|
||||||
image.show()
|
oldFileSize = os.path.getsize(fileName)
|
||||||
image.save("asciiConverted_RGB.png")
|
newFileSize = os.path.getsize("CONVERTED.png")
|
||||||
|
fileSizeReduction = 100 * (1 - (newFileSize / oldFileSize))
|
||||||
|
|
||||||
|
print("File size reduced by {:.2f}%".format(fileSizeReduction))
|
@ -1,7 +1,7 @@
|
|||||||
#fileName = raw_input("Give me a file to pixelize:\n")
|
#fileName = raw_input("Give me a file to pixelize:\n")
|
||||||
|
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
image = Image.open("asciiConverted_RGB.png")
|
image = Image.open("CONVERTED.png")
|
||||||
|
|
||||||
# get image width
|
# get image width
|
||||||
width, height = image.size
|
width, height = image.size
|
||||||
@ -13,7 +13,7 @@ stringOutput = ""
|
|||||||
|
|
||||||
index = 0
|
index = 0
|
||||||
|
|
||||||
for q in range(0,width):
|
for q in range(0,height):
|
||||||
for i in range(0,width):
|
for i in range(0,width):
|
||||||
# stringOutput += chr(px[i,q])
|
# stringOutput += chr(px[i,q])
|
||||||
|
|
||||||
@ -32,12 +32,12 @@ for q in range(0,width):
|
|||||||
|
|
||||||
#print "-"
|
#print "-"
|
||||||
|
|
||||||
print str(index) + "/" + str(width*width) + " done"
|
print str(index+1) + "/" + str(width*width) + " done"
|
||||||
index += 1
|
index += 1
|
||||||
|
|
||||||
#print stringOutput
|
#print stringOutput
|
||||||
|
|
||||||
# save to file
|
# save to file
|
||||||
outFile = open("TESTCONVERT.txt","w")
|
outFile = open("CONVERTBACK.obj","w")
|
||||||
outFile.write(stringOutput)
|
outFile.write(stringOutput)
|
||||||
outFile.close()
|
outFile.close()
|
Loading…
Reference in New Issue
Block a user