티스토리에서 워드프레스로 블로그를 이전하고 난뒤에 가장 신경쓰이는게 사진등의 이미지 파일입니다. 티스토리야 폰으로 찍은 원본을 맘대로 올려대고 했다지만.. 사실 티스토리에서도 큰 원본파일을 직접 올려대면 편집기가 꽤 버벅대기도 하고 글 자체도 로딩시간이 꽤 걸리긴 합니다.
편집기에서 이미지 수정이라도 한다면야 크기 조정을 해서 저장되니 조금 수월하지만 그냥 손을 하나도 안되버리면 엄청 큰 용량의 원본이 페이지에 떡! 하니 존재하는거죠 ..
설치형 블로그를 떠나서 과거에 호스팅 서버에서 돌아가는 개인 게시판등에 이미지를 올릴때는 해상도나 압축률 등을 미리 조정하고서 올리거나 하던게 일반적이긴 했습니다.
일단 최근 스마트폰의 원본 이미지 크기만해도 5메가는 우숩고 해상도도 무시무시 하기 때문에 .. 크기조정을 해야할 필요성이 생겼습니다.
또 한가지.. 아직 정확한 원인 파악이 안되긴 했습니다만.. 워드프레스의 경우 같은 파일명이 업로드되는 경우에는 간혹 기존에 업로드된 같은 이름을 가진 파일이 뜨는 경우가 있더군요 .. 캐싱관련한 문제지 않을까 싶은데.. 그냥 보이기만 그렇게 보이고 시간이 지나면 정상으로 돌아오는지 까지는 잘 모르겠습니다. 여튼 그래서 이참에 파일명도 겹치지 않을 이름으로 바꿔주는 것도 만들어 볼까 하던차였습니다..
제 경우에 블로그에 글을 쓰기전에 찍은 사진을 전부 한 폴더에 넣고 먼저 분류할 폴더들을 생성한 뒤에 사진들 분류를 먼저 하고 분류된 사진들을 기준으로 글을 써나가는 편인데요 ..
그래서 이미지의 크기나 포맷을 바꾸고 회전도 시켜주면서 개별적으로 지정한 폴더로 이동시켜서 정리도 해주는 ..
그런 프로그램을 만들었습니다. 워드프레스로 이전하고 워드프레스에 글을 쓰기위한 목적으로 만든 프로그램이라 이름은 “모두의 워프” 입니다.
모두의 워프는 .. 모두의 프린터나 PDF와 달리 VC++ 재배포가능 패키지를 내장하고 있지 않습니다. 만약 시스템에 어떤 버전의 VC++ 재배포 가능 패키지도 설치하신적 없으셔서 프로그램이 실행 안되거나 미리보기가 표시되어야 할 시점에 비정상 종료되어 버린다면 위 링크에서 가장 최신버전의 재배포가능 패키지를 받아서 설치하시기 바랍니다.
아마 모두의 프린터나 모두의 PDF를 한번이라도 실행해본적 있는 컴터에선 문제없이 실행 될겁니다.

왼편은 조작영역이고, 오른편은 미리보기영역입니다.
우선 모두의 워프는 이미지 변환을 위해서 ImageMagick 라는 오픈소스 프로젝트의 이미지 변환기를 사용합니다.

상단의 ImageMagick 홈페이지, 라이선스 버튼을 누르시면 관련 사이트로 이동합니다.

원본경로는 변환작업을 할 대상 이미지들이 존재하는 경로를 선택하시면 됩니다. 저장경로는 변환된 이미지들이 저장될 경로입니다. 각각 오른편 ‘변경’ 버튼을 클릭하시면 폴더선택을 위한 대화상자를 보실 수 있구요.
원본경로와 같은 경로에 변환된 이미지를 저장하고 싶으시면 ‘원본경로사용’ 버튼을 클릭하시면 됩니다.

그러면 편하게 같은 경로에 저장이 가능합니다.

원본경로를 선택하게 되면 자동으로 하단의 파일 리스트에 원본경로상에 존재하는 이미지들을 뒤져서 추가해줍니다. 현재는 JPG, PNG, BMP, WEBP 4가지 포맷의 파일들만 원본으로 처리 가능합니다.


사이즈 변경 옵션은.. 변경 없음은 크기 변경은 전혀 하지 않고 이미지 퀄리티나 파일 포맷만 변경을 할 경우에 쓰시면 되겠습니다.

폭기준은 이미지의 폭(Width)를 기준으로 높이(Height)의 비율을 맞춰서 변환해주는 옵션입니다. 미리 정의된 크기를 선택하셔도 되고 직접 입력 하셔도 되겠습니다.

높이 기준도 폭기준과 같이 높이(Height)를 기준으로 폭(Width)를 비율 맞춰서 변환해주는 옵션입니다. 역시나 미리 정의된 크기를 선택하셔도 되고 직접 입력 하셔도 됩니다.

이미지 퀄리티는 25~100% 까지 선택 가능합니다. 기본은 75에 맞춰져 있습니다. 일반적으로 JPG의 일반화질의 퀄리티를 75%로 잡는 경우가 많긴합니다만. 퀄리티가 높으면 높을수록 파일의 크기는 커지고 낮으면 낮을수록 압축률이 높아져서 파일의 크기는 작아지는대신 화질은 열화됩니다.

변환되서 저장될 파일은 JPG, WEBP, PNG 3가지만 우선 지원합니다. 이 프로그램을 만든 근본적 이유는 이미지의 크기를 변경해서 WEBP로 일괄 저장하기 위함입니다. 그렇다보니 기본은 WEBP로 되어있으며 원하시는 포맷으로 선택해 쓰시면 됩니다.

변환 옵션의 작업명칭은 .. 이 명칭으로 저장경로에 새로운 폴더를 만들어서 그 폴더 안에 변환된 파일들을 저장합니다. 원본 경로와 저장경로가 동일하다 하여도 어차피 이 작업명칭의 폴더는 새로 생성해서 그 안에 들어가게 됨으로 원본파일들과 섞이는 일은 일어나지 않습니다.

Prefix 는 추가 폴더생성과 파일명에 사용되는 값입니다. Prefix에 입력한 값으로 파일 목록에서 Prefix 지정을 해둔 원본파일은 저장경로 -> 작업명칭 -> Prefix 구조로 폴더가 생성되서 그 안에 저장되게 됩니다.

랜덤값포함, 카운트포함, 날짜포함은 파일명에 랜덤한 8자 문자가 포함되거나 전체 변환중인 파일 갯수를 카운트한 숫자가 포함되거나 현재 날짜와 시간을 포함해주는 옵션입니다. 이를 통해서 중복되지 않은 파일명을 만드는게 목적입니다.
작업 스레드수는.. 실행되는 컴퓨터에 존재하는 CPU 코어 * 2 값을 최대로 가능합니다. 이 작업스레드수 만큼 동시에 변환작업을 진행합니다. CPU 의 코어가 많으면 많을수록 이 값을 높게 잡으면 잡을수록 더 빨리 변환 가능합니다. 적정 값은 ;; 컴터에 무리 안가는 정도로 적당히 쓰시면 되겠습니다.

이렇게 바탕화면에 이미지변환 이라는 폴더에 있는 jpg 사진들로 예를들어 작업을 진행해 봅니다.

이렇게 이미지 파일 목록이 읽혀진 상태이고 ..

이렇게 작업명칭은 테스트작업, Prefix 는 분류1로 입력하고 .. 우선 위와같이 몇몇 파일을 선택한 후에

이 선택된 파일에 적용 버튼을 누릅니다.

그러면 이렇게 리스트상 Prefix 가 변경이 됩니다. 이렇게 Prefix 가 지정된 이미지들의 변환결과는 저장경로 -> Prefix명칭 경로안에 저장됩니다. Prefix 의 적용은 리스트에서 파일 선택후 ‘선택된 파일에 적용’을 누르셔도 되고 체크박스 체크후에 체크된 파일에 적용을 누르셔도 됩니다.
Prefix 의 적용은 저 버튼외에도 엔터키를 눌러도 같은 동작이 가능합니다. <- 회전, 회전 -> 버튼은 좌우로 이미지를 회전시켜주는 옵션입니다. 이는 키보드의 좌우 화살표 키로도 동일한 동작을 합니다.

이미지를 회전시키면 리스트에 회전값이 적용되어 보여집니다.
‘선택된 파일 리스트에서 삭제’는 말그대로 작업 대상 파일을 목록에서 제외시킵는 기능이고 키보드의 DEL 키를 눌러도 같은 동작을 하게 할 수 있습니다.

오른편에 리스트에 선택한 이미지의 미리보기도 제공하니 참고하시구요.
파일 리스트에서의 동작은 일반적인 윈도 프로그램들과 동일 합니다. CTRL 을 누른채로 다중 선택도 되고 SHIFT키를 누른채로 드래그해서 영역으로 선택도 가능합니다.
위아래 방향키로도 선택범위를 조정도 가능하고. 스페이스바 키로 체크, 체크해제 등의 동작도 가능합니다.

일부 파일은 분류1,2,3 으로 Prefix를 지정하고 나머지는 Prefix가 없는 상태로 변환을 해봤습니다.


Prefix 에 따라 폴더가 생성되고 그 안에 해당 Prefix 를 지정한 파일들이 변환되어 저장되었구요. 나머지는 작업명칭에 해당하는 테스트작업 폴더 안에 다 저장되었습니다.

카운트포함이 체크되어 있어서 파일명의 맨 앞에 4자리 숫자값이 오고 그 다음에 작업명칭, 랜덤값 포함이 체크되어 있음으로 8자리 랜덤 문자, 날짜, 시간을 포함해서 변환된 이미지들이 저장되었습니다.
사용법이 좀 복잡한것 같지만 ;;
1. 원본 경로를 선택한다
2. 저장경로를 선택한다
3. 변경할 이미지 사이즈 옵션을 선택한다
4. 이미지 퀄리티와 저장할 이미지 포맷을 선택한다
5. 작업명칭을 입력한다
6. 파일 목록의 파일들을 선택해가며 미리보기를 참고해서 분류하고 싶은대로 Prefix 값을 적용해간다
7. 파일명에 포함시킬 정보(랜덤값, 카운트, 날짜)를 체크한다
8. 회전이 필요한 이미지는 원하는대로 회전시킨다
9. 변환시작 버튼을 누른다..
우선 달라는 분들이 계셔서 올리긴 합니다만.. 기능도 추가되고 정리되고 이것저것 할거라서 0.0.1버전 이란거 감안해 주시면 감사하겠네요.