Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- # ImageEncoder.py
- # Author: Abdul Fatir
- # E-Mail: abdulfatirs@gmail.com
- from PIL import Image
- import optparse
- morse_list={
- 'A':'.-','B':'-...','C':'-.-.','D':'-..','E':'.','F':'..-.',
- 'G':'--.','H':'....','I':'..','J':'.---','K':'-.-','L':'.-..',
- 'M':'--','N':'-.','O':'---','P':'.--.','Q':'--.-','R':'.-.',
- 'S':'...','T':'-','U':'..-','V':'...-','W':'.--','X':'-..-',
- 'Y':'-.--','Z':'--..','0':'-----','1':'.----','2':'..---','3':'...--',
- '4':'....-','5':'.....','6':'-....','7':'--...','8':'---..','9':'----.',
- '.':'.-.-.-',',':'--..--','?':'..--..',"'":'.----.','/':'-..-.','(':'-.--.-',
- ')':'-.--.-',':':'---...',';':'-.-.-.','=':'-...-','+':'.-.-.','-':'-....-',
- '_':'..--.-','"':'.-..-.','$':'...-..-','':''
- }
- def EncodeToImage(data,_PNG):
- letters = list(data)
- pixsum = 0
- whitePixels = []
- for letter in letters:
- _lettermorse = morse_list[letter]
- _morsechars = list(_lettermorse)
- for morsechar in _morsechars:
- intval = ord(morsechar)
- pixsum += intval
- whitePixels.append(pixsum)
- pixsum += 32
- whitePixels.append(pixsum)
- W = 100
- H = whitePixels[len(whitePixels)-1]/100 + 1
- img = Image.new( 'RGB', (W,H), "black")
- pixels = img.load()
- for whitePixel in whitePixels:
- y = whitePixel/100
- x = whitePixel%100
- pixels[x,y] = (255,255,255)
- img.save(_PNG)
- def Main():
- parser = optparse.OptionParser('usage: python ImageEncoder.py -o <output PNG image name>')
- parser.add_option('-o',dest='outPNG',type='string',help='Please specify the output image file')
- (options,arg) = parser.parse_args()
- if (options.outPNG == None):
- print parser.usage
- exit(0)
- else:
- outPNG = options.outPNG
- datatoencode = raw_input("Please enter data to encode (without spaces):")
- EncodeToImage(datatoencode.upper(),outPNG)
- if __name__ == '__main__':
- Main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement