Added ascii2img installation
Added uninstallation script
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+74
@@ -0,0 +1,74 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
from PIL import Image, ImageDraw, ImageFont
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description='Converts ASCII file to image image (Good for converting radare2 graphs)')
|
||||
parser.add_argument('X', metavar='X Coord', default = 0, type=int, nargs='?',help='x coordinate for image')
|
||||
parser.add_argument('Y', metavar='Y Coord', default = 0, type=int, nargs='?',help='y coordinate for image')
|
||||
parser.add_argument('--ascii', metavar='ASCII File', default = "", nargs='?',help='ASCII file input')
|
||||
parser.add_argument('--img', metavar='IMG Output File', default = "", nargs='?',help='IMG file output')
|
||||
args = parser.parse_args()
|
||||
|
||||
fontfile="/usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf"
|
||||
fontSize = 18
|
||||
xMultiplier = fontSize * 0.65
|
||||
yMultiplier = fontSize * 1.15
|
||||
startX = 10
|
||||
startY = 10
|
||||
|
||||
imgX = args.X
|
||||
imgY = args.Y
|
||||
asciiX=0
|
||||
asciiY=0
|
||||
fullString=""
|
||||
asciiLines=[]
|
||||
asciiLinesLength=[]
|
||||
|
||||
if args.ascii!="":
|
||||
#open file to read number of lines & line length
|
||||
with open(args.ascii) as f:
|
||||
for line in f:
|
||||
asciiLines.append(line)
|
||||
asciiLinesLength.append(len(line))
|
||||
|
||||
#reopen to read as whole
|
||||
with open(args.ascii) as f:
|
||||
fullString=f.read()
|
||||
else:
|
||||
fullString = sys.stdin.read()
|
||||
asciiLines = fullString.split("\n")
|
||||
for line in asciiLines:
|
||||
asciiLinesLength.append(len(line))
|
||||
|
||||
#get text X & Y coords
|
||||
asciiY = len(asciiLines)
|
||||
asciiX = max(asciiLinesLength)
|
||||
|
||||
#setup imgX and imgY if they are not set by user
|
||||
if imgX==0:
|
||||
imgX = int(asciiX * xMultiplier + (2 * startX))
|
||||
|
||||
if imgY==0:
|
||||
imgY = int(asciiY * yMultiplier + (2 * startY))
|
||||
|
||||
# make a blank image for the text
|
||||
txt = Image.new('RGB', (imgX, imgY), (255,255,255))
|
||||
|
||||
# get a font
|
||||
fnt = ImageFont.truetype(fontfile, fontSize)
|
||||
# get a drawing context
|
||||
d = ImageDraw.Draw(txt)
|
||||
|
||||
# draw text, full opacity
|
||||
d.text((startX,startY), fullString, font=fnt, fill=(0,0,0))
|
||||
|
||||
if args.img=="":
|
||||
txt.show()
|
||||
else:
|
||||
txt.save(args.img)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
Binary file not shown.
Reference in New Issue
Block a user