python 9 궁 격 그림 인 스 턴 스 간단하게 구현

일상생활 에서 우 리 는 친구 들 사이 에서 누군가가 구 궁 격 사진 을 보 내 는 것 을 자주 볼 수 있다.그 본질은 한 장의 사진 을 9 부 로 자 른 다음 에 위 챗 에서 이 9 장의 그림 을 함께 보 내 는 것 이다.
그렇다면 우 리 는 어떻게 스스로 실현 할 것 인가?
컷 팅 파 이 썬 하면 이 루어 집 니 다.주로 사용 되 는 파 이 썬 라 이브 러 리 는 Pillow 이 고 설치 에 사 용 됩 니 다. pip install pillow 즉,그림 을 자 르 는 주요 절 차 는 다음 과 같다.
1.처리 할 그림 열기
2.열 린 그림 이 정사각형 인지 판단 하고 정사각형 이면 9 등분 하고 정사각형 이 아니면 흰색 으로 정사각형 으로 채 우 고 9 등분 한다.
3.처 리 된 그림 저장
주요 구현 코드 는 다음 과 같 습 니 다.

#      image
def fill_image(image):
    width, height = image.size
    _length = width
    if height > width:
        _length = height
    new_image = Image.new(image.mode, (_length, _length), color='white')
    if width > height:
        new_image.paste(image, (0, int((_length - height) / 2)))
    else:
        new_image.paste(image, (int((_length - width) / 2), 0))
    return new_image

#    image
def cut_image(image):
    width, height = image.size
    _width = int(width / 3)
    box_list = []
    for i in range(0, 3):
        for j in range(0, 3):
            box = (j * _width, i * _width, (j + 1) * _width, (i + 1) * _width)
            box_list.append(box)
            image_list = [image.crop(box) for box in box_list]
    return image_list

#   image           
def save_images(image_list, res_dir):
    index = 1
    if not os.path.exists(res_dir):
        os.mkdir(res_dir)
    for image in image_list:
        new_name = os.path.join(res_dir, str(index) + '.png')
        image.save(new_name, 'PNG')
        index += 1
실현 효 과 를 살 펴 보 자.
35b0da582bf5741821f4d04983350a3.png
이상 은 python 이 9 궁 격 그림 인 스 턴 스 를 간단하게 실현 하 는 상세 한 내용 입 니 다.python 이 친구 권 의 9 궁 격 그림 을 실현 하 는 데 관 한 자 료 는 우리 의 다른 관련 글 을 주목 하 세 요!

좋은 웹페이지 즐겨찾기