[패스트캠퍼스 수강후기] 업무자동화강의 100% 환급 챌린지 11회차 미션

2021. 3. 25. 00:36카테고리 없음

패스트캠퍼스 6개월 치 업무를 하루 만에 끝내는 업무자동화 올인원 패키지 Online

 

bit.ly/3pIrVoN

 

6개월 치 업무를 하루 만에 끝내는 업무자동화 | 패스트캠퍼스

대한민국 직장인, 개인 사업자 여러분! 오늘도 귀찮은 반복 업무에 스트레스 받으셨나요? 6개월 치 업무를 하루 만에 끝낸 '카이스트 공익'이 여러분의 칼퇴를 도와 드립니다! 여러 정부기관과

www.fastcampus.co.kr

 

인스타그램용 사이즈 변환1 (캔버스 그리기, 오프셋 계산)
인스타그램용 사이즈 변환2 (코드,알고리즘)
사진 1천장 로고 삽입 (코드)

 

목표

 

1.이미지 파일 불러오기 (이미지 가로/세로 구분)
2.정사각형으로 사진 바꾸기 (배경색 지정)
3.여백부분에 색 채우기 (캔버스에 원본 사진 넣기)

 

 

offest

 

세로이미지 가로로 변경할때

가로축 x 세로축 y

 

1/2(y-x) + x + 1/2(y-x)

x offset = 0
y offset = 1/2(y-x)

 

가로 이미지를 세로로 변경할때

가로축 x 세로축 y

 

1/2(x-y) + x + 1/2(x-y)

x offset = 1/2(x-y)
y offset = 0

 

 

정사각형 캔버스 만들고 색 지정

 

from PIL import Image


new_Image = Image.new("RGBA","(X,Y),"white")

 

RGBA 색깔을 표현하는 방식


X,Y 가로 세로축 좌표


마지막은 원하는 색깔

 

원본사진 캔버스에 붙여넣기

 

new_image.paste(image, (x_offset, y_offset))

 

paste 사용

 

가로이미지 세로 이미지 구별

 

Xdim, Ydim = image.size

if Xdim > Ydim:
X축에 길이가 더 길 경우의 계산입니다.

 

new_size = Xdim
x_offset = 0
y_offset = int((Xdim - Ydim) / 2)

1/2(x-y) 공식을 y오프셋에 그대로 활용

else:
    # Y축 길이가 더 길 경우의 계산입니다.
    new_size = Ydim
    x_offset = int((Ydim - Xdim) / 2)
    y_offset = 0

  1/2(y-x) 공식을 x오프셋에 그대로 활용

 

offset 체험

 

In [1]: from PIL import Image

 

In [2]: a = Image.open("a.png")

 

In [3]: a.size


Out[3]: (30, 111)

 

n [6]: new_Image = Image.new("RGBA",(110,110), "white")

 

In [7]: new_Image.save("test.png")

 

In [9]: new_Image.paste(a, (0,0))

 

페이스트 이용해 a 이미지를 new_Image 붙였다

 

In [10]: new_Image.save("test.png")

 

In [11]: x_offset = int((110-30)/2)

 

In [12]: x_offset


Out[12]: 40

 

In [13]: new_Image = Image.new("RGBA", (110,110), "white")

 

In [14]: new_Image.paste(a,(40,0))

 

In [15]: new_Image.save("test.png")

 

 

로고 한번에 붙이기

 

설계과정

  1. 이미지 파일 불러오기
  2. 로고 사이즈 변경 (reseize)
  3. 로고 이미지 넣기 (paste)

이미지 로고 삽입

 

image.paste(logo,(x_offset,y_offset),logo)

 

마지막에 로고를 한번 더 붙여 투명도를 유지해준다