2014-10-03 1 views
1

대량의 이미지가 있는데 각 이미지에서 알파를 제거해야합니다. 이것은 미리보기 응용 프로그램에서 할 수 있지만 반복해야 할 시간이 너무 오래 걸리므로 시간이 오래 걸립니다.AppleScript로 대량 이미지에서 알파를 제거하는 방법

나는 AppleScript에 대해 들어 본적이 없으며 현재 프로세스를 자동화하는데 약간의 미약 한 시도가있었습니다.

나는 이런 식으로 뭔가를 사용하여 다음 반복을 시작하지만, 그것은 단지 하나 개의 직접 폴더 (또한 내가 메뉴 바 항목에 문제가 있어요)

set fl to files of folder POSIX file "/Users/user/Documents/" as alias list 

을 통해 루프 날 수 있습니다하지만 난 여러 가지고 있어요 내가 이미지 양을 바꿀 폴더 안의 폴더. 폴더 구조는 다음과 같다 : 내부 ImagesRoot에서

사용자/사용자/폴더/ImagesRoot/

3 개 폴더와 하나 개의 txt 파일입니다. 특히 "아이콘"과 "스크린 샷"이라는 폴더 2 개를 선택하고 싶습니다. "아이콘"에는 5 개의 이미지가 있습니다. 그러나 "스크린 샷"에는 각각 5 개의 이미지가있는 3 개의 하위 폴더가 있습니다. 일단 같은 폴더 내의 이미지의 목록을 수신

이 과정은 내가 AppleScript로 좋은 것을 이야기하고

tell application "Preview" 
    open the image file 
    open the file menu 
    open export... 
    untick alpha 
    press save 
    press replace 
    close window 
end tell 
Loop to next one 
when looped through all in Icons folder, do all 5 images of each subfolder of screenshot folder 

같은 것 (은 "Screensub 1,2,3"이라 할 수있다) 이 일을하는 방법뿐만 아니라 배쉬는 가능성일까요? 그러나, 나는 2 %의 경험이 있고, 아마도 4 %의 bash를 사용하고 있고, 어떻게 접근해야할지 모른다.

모든 조언이나 도움을 주시면 대단히 감사하겠습니다.

감사

답변

0

는 지금까지 내가 말할 수있는, 미리보기 경우에도 enable AppleScripting, 문서의 알파를 변경하는 기능이 없습니다.

on open imageFile 
    tell application "GraphicConverter 9" 
     open imageFile 
     tell window 1 
      set alpha to false 
     end tell 
     --save image as needed 
    end tell 
end open 

당신은 쉽게 자동화를 사용하여 찾을 수 있습니다 : 같은 GraphicConverter 그것을 지원하지 않습니다 응용 프로그램에서, 이것은 매우 간단한 작업입니다. 의 조합은 폴더 내용 각 하위 폴더에 대한 반복 당신이 필요로하는 모든이 될 수을 제거 알파 채널 세트를 발견로 가져옵니다. 일부 파일을 제외해야하는 경우 필터 찾기 항목을 사용합니다.

그러나 미리보기를 사용하려면 시스템 이벤트를 사용할 수 있습니다. 뭔가 같은 :

on open imageFile 
    tell application "Preview" 
     open imageFile 
     activate 
     set filename to name of window 1 
     tell application "System Events" 
      tell process "Preview" 
       click menu item "Export…" of menu "File" of menu bar 1 
       tell sheet 1 of window 1 
        --rename file 
        set value of text field 1 to filename & " Alpha Removed" 

        --uncheck alpha channel 
        tell checkbox 1 of group 1 
         click 
        end tell 

        --save 
        click button "Save" 
       end tell 
      end tell 
     end tell 
    end tell 
end open 

당신이 보조 액세스 경로를 선택하는 경우, 당신은 유용한 서명 애플리케이션에 애플의 도움을 찾을 수는 : http://support.apple.com/kb/HT5914

+0

수출, 미리보기 당신이 그것을 감지하는 경우에만 (알파 여부에 대한 tickbox이있을 것이다 그것) – invisibloom

+0

조언을 주셔서 감사합니다, 나는 그래픽 변환기를 찾고 있었는데 그것은 promisinh 같아요 – invisibloom

+0

예, 나는 알파 채널을 제거하려는 모든 파일이 알파 채널을 가지고 있다는 가정을하고있었습니다. 이것이 사실이 아니라면 스크립트를 일부 수정해야 할 수도 있습니다.또한 자체 배치 시스템 또는 AppleScript로 배치 처리를 수행하는 경우 GraphicConverter가 유용합니다. –

관련 문제