kcoppock 의 답변을 기반 으로 모든 이미지의 크기를 자동으로 올바른 크기로 조정하고 각 Android drawable- * 폴더에 복사하는 다음 셸 스크립트를 만들었습니다!
셸 스크립트를 만들고 다음 코드를 붙여 넣습니다.
createAndroidImages.sh
#!/bin/bash
read -p "Please enter the subfolder of the original images? " folder
read -p "How many DP (width) should the image have? " dp
for i in $(find $folder/. -type f -name "*[A-Z]*"); do mv "$i" "$(echo $i | tr A-Z a-z)"; done
mkdir drawable-ldpi
mkdir drawable-mdpi
mkdir drawable-tvdpi
mkdir drawable-hdpi
mkdir drawable-xhdpi
mkdir drawable-xxhdpi
mkdir drawable-xxxhdpi
cp $folder/* drawable-ldpi/
cp $folder/* drawable-mdpi/
cp $folder/* drawable-tvdpi/
cp $folder/* drawable-hdpi/
cp $folder/* drawable-xhdpi/
cp $folder/* drawable-xxhdpi/
cp $folder/* drawable-xxxhdpi/
sips -Z $(echo $dp*3/4 | bc) drawable-ldpi/*
sips -Z $(echo $dp | bc) drawable-mdpi/*
sips -Z $(echo $dp*4/3 | bc) drawable-tvdpi/*
sips -Z $(echo $dp*3/2 | bc) drawable-hdpi/*
sips -Z $(echo $dp*2 | bc) drawable-xhdpi/*
sips -Z $(echo $dp*3 | bc) drawable-xxhdpi/*
sips -Z $(echo $dp*4 | bc) drawable-xxxhdpi/*
스크립트를 폴더에 넣고 원본 이미지를 하위 폴더에 넣습니다. 예 :
/
.. createAndroidImages.sh
.. originalImages/
....a123.png
....b456.png
터미널에서 쉘 스크립트를 실행하십시오. sh createAndroidImages.sh
생성 된 이미지를 Android 스튜디오 프로젝트에 직접 복사하려면 :
cp -R drawable-* ~/AndroidStudioProjects/ESCRating/app/src/main/res/
끝났습니다! 이것이 누군가를 돕기를 바랍니다!
추신 : 최적의 결과를 얻으려면 원본 이미지가 원하는 dpi 너비 (예 : 4 (factor xxxhdpi) * 30dpi => 120px)보다 픽셀 너비의 4 배 이상이어야합니다.