diff --git a/main.py b/main.py index ab09f02..502e08e 100644 --- a/main.py +++ b/main.py @@ -9,22 +9,19 @@ import urllib.request import urllib.parse import argparse -version = 2.0 +version = 2.1 style = False text = "| V A P O R W A V E || G E N E R A T O R |" parser = argparse.ArgumentParser(description=text) -parser.add_argument( - "-M", "--music", help="generate v a p o r w a v e music", action="store_true" -) -parser.add_argument( - "-P", "--picture", help="generate VHS Style image", action="store_true" -) +parser.add_argument("-M", "--music", help="generate v a p o r w a v e music", action="store_true") +parser.add_argument("-P", "--picture", help="generate VHS Style image", action="store_true") parser.add_argument("-V", "--video", help="VHS Style Video", action="store_true") parser.add_argument("-v", "--version", help="show program version", action="store_true") parser.add_argument("-i", "--input") parser.add_argument("-o", "--output", help="Output for specifying output video") +parser.add_argument("-d","--date",help="Custom Date in yyyy/mm/dd format. e.g 2020/5/14") args = parser.parse_args() @@ -32,6 +29,7 @@ args = parser.parse_args() music = False picture = False video = False +date = None if args.version: print("vaporwave generator 旺育栄", version) @@ -46,6 +44,8 @@ if args.input: query = args.input if args.output: outfile = args.output +if args.date: + date = args.date else: parser.print_help() exit @@ -180,6 +180,6 @@ if music: name, title = download_file(query) gen_vapor(name, title) elif picture: - generateVHSStyle(query, "out.jpg") + generateVHSStyle(query, "out.jpg",date=date) elif video: VHS_Vid(query, outfile) diff --git a/src/VHSImage.py b/src/VHSImage.py index fc21adc..ebf057f 100644 --- a/src/VHSImage.py +++ b/src/VHSImage.py @@ -1,4 +1,4 @@ -import datetime +from datetime import datetime from PIL import Image from PIL import ImageFont from PIL import ImageDraw @@ -98,10 +98,15 @@ def mod_image_repeat_rows( img.save(out_name) -def add_date(img_path, out_name="image.jpg", bottom_offset=0): - date_obj = datetime.datetime.now() - date_str_1 = date_obj.strftime("%p %H:%M") - date_str_2 = date_obj.strftime("%b. %d %Y") +def add_date(img_path, out_name="image.jpg", bottom_offset=0,date=None,time=None): + if date==None: + date_obj = datetime.now() + date_str_1 = date_obj.strftime("%p %H:%M") + date_str_2 = date_obj.strftime("%b. %d %Y") + else: + date_obj = datetime.strptime(date, '%Y/%m/%d') + date_str_1 = date_obj.strftime("%p %H:%M") + date_str_2 = date_obj.strftime("%b. %d %Y") corner_offset = 50 img = Image.open(img_path) _, height = img.size @@ -150,7 +155,7 @@ if __name__ == "__main__": """ -def generateVHSStyle(infile, outfile, silence=False): +def generateVHSStyle(infile, outfile, silence=False,date=None): if silence: cut_rows = bool(random.getrandbits(1)) offset = random.choice([0, 5, 10]) @@ -159,7 +164,7 @@ def generateVHSStyle(infile, outfile, silence=False): mod_image_repeat_rows("saturated.jpg", 0.012, 50, 10, True, "shifted.jpg") else: mod_image_repeat_rows("saturated.jpg", 0, 0, 0, True, "shifted.jpg") - add_date("shifted.jpg", "noisy.jpg") + add_date("shifted.jpg", "noisy.jpg",date=date) add_date("noisy.jpg", outfile, bottom_offset=offset) os.remove("shifted.jpg") os.remove("saturated.jpg") @@ -176,7 +181,7 @@ def generateVHSStyle(infile, outfile, silence=False): logger.info("Not applying lines effect") mod_image_repeat_rows("saturated.jpg", 0, 0, 0, True, "shifted.jpg") logger.info("Adding noise") - add_date("shifted.jpg", "noisy.jpg") + add_date("shifted.jpg", "noisy.jpg",date=date) logger.info("Adding text") add_date("noisy.jpg", outfile, bottom_offset=offset) logger.info("Generated Image: out.jpg")