it-swarm-korea.com

Linux에서 BMP 파일을 JPEG로 변환

누군가 나에게 BMP 파일을 보냈는데 JPEG로 필요합니다. 김프를 사용하여 하나씩 변환 할 수는 있지만 한 번에 모두 처리하고 싶습니다. 우분투가 있습니다.

33
JoelFan

ImageMagick의 mogrify 도구를 사용할 수 있습니다.

 mogrify -format jpg * .bmp 
50
hyperslug

ImageMagick Ubuntu에 설치되어있을 가능성이 높습니다.
할 수 있음 ,

convert filename.bmp filename.jpg

최신 정보:

mogrify (답변 : hyperslug 및 참조 : cjm)도 좋은 옵션입니다.

mogrify 프로그램을 사용하여 이미지 크기 조정, 흐림, 자르기, 반점 제거, 디더링, 그리기, 뒤집기, 결합, 다시 샘플링 등을 수행 할 수 있습니다.
이 도구는 원본 이미지 파일을 덮어 쓴다는 점을 제외하면 convert 와 유사합니다.
(-format 옵션을 사용하여 파일 접미사를 변경하지 않는 한) 요청한 모든 변경 사항을 포함합니다.

16
nik

Salmonmoose 답변을 약간 변경하겠습니다.

for i in `ls *.bmp`; do convert $i $i.jpg; done

위는 작동하지만 "bmp.jpg"라는 파일을 생성합니다. 다음 명령으로 .jpg 파일을 가져올 수 있습니다.

for i in *.bmp; do convert ${i} ${i%bmp}jpg; done

for 명령에 대한 자세한 내용은 man bash를 참조하세요. ${i%bmp} 부분은 끝에 "bmp"하위 문자열이없는 "$ {i}"문자열을 의미합니다.

"$ {i}"에서 문자열을 변환하는 다른 작업이 있습니다. "$ i"는 "$ {i}"의 약어입니다. salmonmoose 대답의 ls *.bmp 부분은 "ls *.bmp 실행"을 의미하고 for i 부분은 공백으로 구분 된 각 문자열을 i "에 할당합니다. 디렉토리의 모든 파일 이름과 일치하므로 *.bmp에서도 동일한 결과를 얻을 수 있습니다.

for에는 단점이 있습니다. 디렉토리의 파일 이름에 공백이있는 경우 (예 : "wedding picture 1.bmp") i var에 3 번 할당됩니다. 다음 명령을 수행합니다.

convert wedding wedding.jpg 
convert picture picture.jpg
convert 1.bmp  1.bmp.jpg

내 대답에서도 "$ {i % bmp}"일치가 실패합니다.

그러나 해결책이 있습니다. 대신 find 명령을 사용할 수 있습니다. 자세한 내용은 man find를 참조하세요. 다음과 같이 입력해야합니다 (사용하기 전에 맨 페이지에서 구문을 확인하십시오).

find -name *.bmp -type f -exec convert '{}' '{}'.jpg \;

(이름 부분을 잘 모르겠습니다. -exec 부분에 의심이 있습니다. 먼저 man find 참조)

모든 이미지를 하나의 .jpg 파일에 결합하려면 첫 번째 답변에서 언급 한 것처럼 다른 필터와 연결할 수 있습니다.

7
anonymous
for i in `ls *.bmp`; do convert $i $i.jpg; done

예, 이것은 filename.bmp.jpg라는 파일을 만들지 만 작업을 수행합니다.

1
salmonmoose

ImageMagick의 도움으로이를 달성 할 수 있습니다. 이 링크 에서 예

0
Matias