ကျွန်တော်တို့ ဒီနေ့ input imageတစ်ခုကို ကိုယ့်ရဲ့ logo မှာဘယ်လို ထည့်ရမယ်ဆိုတာကိုလေ့လာရမှာပါ။ဥပမာ မိတ်ဆွေမှာ website တစ်ခုရှိတယ် အဲ့website မှာ ပစည်းတွေတင်ရောင်းတယ်။မိတ်ဆွေတင်လိုက်တဲ့ ပစည်းproductတိုင်းကို မိတ်ဆွေက logo လိုက်ပြီး photoshop or တခြား image edit လုပ်လု့ိရတဲ့software နဲ့လိုက်ထည့်နေမှာလား။မဟုတ်ပါဘူး ပုံတင်လိုက်တာနဲ့ auto ထည့်ပေးလိုက်သင့်ပါတယ်။
ကျွန်တော်တို့ ဒီနေ့ ပို့စ်ရဲ့ code ရဲ့ပို့်စ်ကနည်းနည်းလေးပါ။ဒါပေမဲ့ powerful ဖြစ်ပါတယ်။ဥပမာ မိတ်ဆွေက django or flask or any other framework တစ်ခုခုကို သုံးပြီးwebsite တစ်ခုကို ရေးရင်လဲ logo_add ပေးတဲ့ method အနေနဲ့ သုံးလို့ရသလို tool တစ်ခုအနေနဲ့လဲ basic python code တွေနဲ့ ပေါင်းလိုက်မယ်ဆို အလုပ်ကောင်းကောင်းဖြစ်နိုင်ပါတယ်။
ကျွန်တော်တို့လိုတာတွေ install လုပ်လိုက်ရအောင်။
$ pip install pillow
အဲ့တော့ကျွန်တော်တို့ code ကိုလေ့လာကြည့်ရအောင်။
from PIL import Image
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-i","--image",required=True,help="path to input image")
ap.add_argument("-l","--logo",default="logo.png",help="path to logo image")
args = vars(ap.parse_args())
# load required images
input_image = Image.open(args['image'])
logo_image = Image.open(args['logo'])
# getting image width and height
input_width,input_height = input_image.size
logo_width,logo_height = logo_image.size
print("[INFO] Adding logo to {}...".format(args['image']))
input_image.paste(logo_image,(input_width - (logo_width+15),input_height - (logo_height+5)),logo_image)
input_image.save("output.png")
ကျွန်တော်တို့ line 1,2 မှာ လိုတာတွေ import လုပ်လိုက်ပါတယ်။ပြီးတော့ ဒီ project တွက်လိုအပ်မယ့် command line argument တွေယူလို့ရအောင် line 4 to 7 မှာထည့်လိုက်ပါတယ်။ဥပမာ command ကနေ –image input.png ဆို input.png က ကျွန်တေ်ာတို့ ရမယ့် value ပါ။logo ကတော့ ထည့်ပေးရင်လဲ ထည့်ပေးမယ့် logo သုံးမှာဖြစ်သလို မထည့်ပေးဘူးဆိုလဲ default ဖြစ်တဲ့ logo.png ကိုသုံးမယ်လို့ရေးထားတာပါ။
line 10,11 မှာ input_image ရယ် logo_image ရယ်ကို ဖတ်လိုက်တယ်။line 15,16 မှာသူတို့ ရဲ့ sizeတွေကိုယူလိုက်တယ်ဘာလို့ယူလဲဆိုတော့ ကျွန်တော်တို့ input_image ပေါ်ထည့်လိုက်မယ့်အခါကျ တွက်ရမှာမို့လို့ပါ။
line 19မှာ input_image.paste() ကိုတွေ့ရမှာပါ logo_image ကိုတင်လိုက်မယ် ဘယ်နေရာကလဲဆိုရင်input_width – (logo_width+15),input_height – (logo_height+5) ကျွန်တော်တို့တင်လိုက်မယ့်နေရာကို x,yနဲ့တွက်မယ်ဆို ညာဘက်ထောင့်ကို ရောက်နေမှာပါ။ကျွန်တော်က နည်းနည်းလေးမြင့်ပြီးနည်းနည်းလေး ဘေးကိုတိုးချင်လို့ အပိုကိန်းလေးတွေ logo မှာပေါင်းထည့်လိုက်တာပါ။ပြီးတော့ ရလာတယ့် image ကို ပြန်save လိုက်ပါတယ်။လွယ်ပေမယ့်အသုံးဝင်မယ်ထင်ပါတယ်။
how to run
မိတ်ဆွေရဲ့ file structure ကတော့
project
add_logo.py
input_image.png
logo.png
အဲ့လိုရှိနေမှာပါ။
$ python add_logo.py --image yourimagename(example.png)