• 카테고리

    질문 & 답변
  • 세부 분야

    데스크톱 앱 개발

  • 해결 여부

    미해결

강의를 통해 많은 도움을 받았습니다.

20.07.19 16:11 작성 조회수 146

0

안녕하세요 

나도코딩 강좌를 며칠간 저녁 시간을 쪼개어 처음부터 끝까지 보고 따라하면서 정말 많은 도움을 받았습니다. 

사실 이미지 합치는 프로그램을 따라하면서 궁금한 점이 있어서 이렇게 게시판에 글을 올리게 되었습니다. 

질문 내용은 다음과 같습니다. 
이미지 리사이징을 한 후에 높이가 2500 이상이 될 경우에는 더이상 이미지를 합치지 않고 다음 파일명으로 저장을 하고 싶을 때에는 어떻게 하면 좋을까요? 예를들어 이미지 리사이징을 한 후에 파일의 total_height가 10000일 경우에 desk 001.jpg, desk 002.jpg, desk 003.jpg, desk 004.jpg 등으로 가능하게 하려면 코딩을 어떻게 하면 좋을까요?

오늘 하루종일 여기저기 살펴보고 그랬는데 잘 모르겠어서 이렇게 문의를 드리게 되었습니다. 


감사합니다.  

답변 8

·

답변을 작성해보세요.

1

안녕하세요 ^^

이런 식으로 접근하면 어떨까요?

1. 이미지 파일들의 Resized 된 높이를 하나씩 더하면서 2500 을 초과하기 직전까지 파일 목록을 리스트에 저장

 예) 이미지 높이 값 기준으로 설명

      리스트1 = [1000, 1000, 300] # 총 높이 2300

       리스트2 = [500, 500, 500, 500] # 총 높이 2000

       리스트3 = [700, 200] # 총 높이 900

2. (1) 에서 만든 파일 목록 리스트를 반복문을 통해 기존 코드를 활용하여 merge 작업

즉 기존에는 하나의 리스트로 처리했다면 이번에는 리스트로 나눈 다음에 그 리스트들을 반복하며 수행하는 겁니다. 그에 대해 각각 파일명은 "desk{0}.jpg".format(idx) 이런 식으로 만들어주면 되겠구요!

0

prayjung50님의 프로필

prayjung50

질문자

2020.07.24

네 정말 감사합니다. 실제 업무를 하는데 많은 도움이 될 것같습니다. 저도 스스로 프로그램을 짤 수 있는 수준까지 틈틈히 열심히 공부하겠습니다. 주말 잘 보내시기 바랍니다 감사합니다~^^

0

메일 드렸으니 첨부파일 참고해주세요 ^^

0

prayjung50님의 프로필

prayjung50

질문자

2020.07.22

넵 감사합니다. 메일로 보내드렸습니다. 

0

nadocoding@gmail.com 메일로 보내주시면 더 좋겠습니다 ^^ 편안한 밤 되시구요!

0

prayjung50님의 프로필

prayjung50

질문자

2020.07.21

제가 추가한 기능이 있어서 네이버 메일로 작성한 코딩 내용을 보내드리겠습니다. 감사하고 죄송합니다  ㅠㅠ 

0

제가 코드를 작성해서 드리는 방향으로 해보겠습니다. 다만 이번주 일정이 조금 빠듯하고 바로 작성해드리기는 시간이 부족해서 주말쯤 돼야 답변을 드릴 수 있겠네요, 이해 부탁드립니다. ^^

0

prayjung50님의 프로필

prayjung50

질문자

2020.07.21

네 답글에 감사드립니다~^^

 이미지 파일들의 Resized 된 높이를 하나씩 더하면서 2500 을 초과하기 직전까지 파일 목록을 리스트에 저장하라는 내용을 말씀해주셨는데, 제가 코딩 초보라 이해가 안되어서 추가로 여쭈어보려고 합니다. 

image_sizes는 듀플로 묶여있는 값이 리스트 형태로 담겨져 있고, heights는 unzip을 한 후에 높이값만 가지고 온 것같은데, 어느 변수를 가지고 하나씩 더하면서 리스트를 작성해서 저장해야 할까요?

i = 0
j = 0

while sum(heights[j:i+2]) < 2470:
i = i +1
if sum(heights[j:i+2]) > 2470:
Image_size[i] = Image_size[j:i+1]

j = i + 1

print(i)
print(j)
print(Image_size[i])
print(Image_size[j])

이렇게 짜봤는데 오류가 보이고 작성하는 방향도 맞는지 잘 모르겠습니다. 


그리고 값을 1개씩 더하면서 2500을 초과하기 직전까지 파일 목록 리스트를 만드는 방법도 혹시 부탁드립니다 그저께랑 어제 밤늦게까지 붙잡고 하는데도 코딩 초보라 기초가 없어서 그런지 잘 안되네요.
많은 질문을 드려 죄송합니다 ㅠㅠ