2015-08-13 2 views
1

Используется следующий код для экспорта изображений, но поскольку я указываю размер файла 40 80 120, для каждого изображения, которое он создает с одинаковыми размерами. Должен учитывать размер изображения по умолчанию и должен создавать изображения @ 2x и @ 3x.Экспортировать ImageSets @ 2x и @ 3x размеры от Sketch до Xcode

function exportIcons() 
{ 

    sketchtool export slices "$SKETCH_FILE" \ 
     --output="$ICONS_DIR" \ 
     --formats="png" \ 
    # create assets to XCode 
    cd $ICONS_DIR 

    for file in *.png 
     do 

     filename=${file%%@*} 



fname=${filename:0:${filename}-4} 

     # create imageset file 
     assets_name="$fname".imageset 
     icon_assets_dir="$IMAGES_ASSETS_DIR"/"$assets_name" 


png="$fname"".png" 
twopng="$fname""@2x.png" 
threepng="$fname""@3x.png" 

height=${sips -g pixelHeight "$file"} 

printf "height >> $height \n" 

cp -p "$filename" "$png" 
    sips -Z 40 "$png" 

cp -p "$filename" "$twopng" 
    sips -Z 80 "$twopng" 

cp -p "$filename" "$threepng" 
    sips -Z 120 "$threepng" 

cat <<EOF> Contents.json 
{ 
"images" : [ 
{ 
"idiom" : "iphone", 
"filename" : "$png", 
"scale" : "1x" 
},{ 
"idiom" : "iphone", 
"filename" : "$twopng", 
"scale" : "2x" 
}, 
{ 
"idiom" : "iphone", 
"filename" : "$threepng", 
"scale" : "3x" 
} 
], 
"info" : { 
"version" : 1, 
"author" : "xcode" 
} 
} 
EOF 


     # copy imageset file to XCode 
     mkdir -p "$icon_assets_dir" 

     /bin/cp "$png" "$icon_assets_dir"/"$png" 
     /bin/cp "$twopng" "$icon_assets_dir"/"$twopng" 
     /bin/cp "$threepng" "$icon_assets_dir"/"$threepng" 

     /bin/cp Contents.json "$icon_assets_dir"/Contents.json 
    done 

    cd $PROJECT_DIR 

    # remove unused files 
    rm -rf "$ICONS_DIR" 
} 

ответ

0

Вот решение, которое я нашел для генерации @ 2x и @ 3x на основе изображения по умолчанию.

захватить идентифицировать строку, убедитесь, что удалось

IMG_CHARS = $ (определить "$ {файл}" 2>/Dev/нуль) || умереть "$ {файл} не правильный образ"

ширина захвата и высота

IMG_CHARS = $ (эхо "$ {IMG_CHARS}" |. СЭД -n «s/(^ ) \ ([ . 0-9]) х ([0-9] ) \ ( $)/\ 2 \ 3/р ')

ширина = $ (эхо "$ {IMG_CHARS}" | AWK' {печать $ 1} ') высота = $ (эхо "$ {IMG_CHARS}" | AWK '{печать $ 2}')

Cp -p "$ файла" "$ PNG" SIPS -Z «$ (($ ширина * 1)) "" $ (($ height * 1)) "" $ png "

CP -p "$ имя_файла" "$ twopng" потягивает -Z "$ (($ ширина * 2))" "$ (($ высота * 2))" "$ twopng"

ср -p "$ filename" "$ threepng" sips -Z "$ (($ width * 3))" "$ (($ height * 3))" "$ threepng"

Смежные вопросы