여러 이미지 폴더를 PNG8로 일괄 변환하려면 어떻게해야합니까?


3

20 + 폴더에 4500 + PNG 24 이미지가있어 PNG 8로 변환하여 크기를 줄이려고합니다. PS의 2 개 폴더는 PNG 8이 이미지를 크게 저하시키지 않아야 함을 보여줍니다)

PS CS3 Batch를 시도했을 때 원본 위에 저장되지 않고 새 파일에 폴더 구조가 없습니다. 작업을 위해이 도구 나 다른 도구를 수정하는 방법이 있습니까?

OSX를 실행하고 있지만 Windows XP / 7에 액세스 할 수 있습니다.


이미지를 크런치하기 위해 무엇을 사용 했습니까? 나는 비슷한 질문에 대답했다. PNG로 환상적인 결과를 얻었습니다. 특히 웹 / 장치 용으로 저장을 사용하지 않는 경우 Photoshop은 저장이 매우 끔찍합니다. webmasters.stackexchange.com/questions/13/…
Bryson

예, 이미지 오버로드에서 aq에 언급 된 이미지 ImageOptim을 먼저 시도했습니다. 그러나 VirtualBox Win7에서 사용한 PNGGauntlet에서 전체적으로 가장 좋은 감소를 얻었습니다. XnView도 좋았습니다.
Denis Hoctor

답변:


4

XnView 는 일괄 처리 / 변환을 처리합니다. Ctrl+ U: "도구-> 일괄 처리 ..."

  • 덮어 쓰기, 원래 경로 (출력) 및 / 또는 하위 폴더 구조 유지 옵션.
  • 변환 탭에서 "변환> 색상으로 변환"변환을 추가하십시오. 매개 변수 중 하나는 비트 / 픽셀입니다.

1

아프지 않습니까? 요령은 다음과 같습니다. 작업을 기록하여 png8로 만들면 작업 팔레트의 오른쪽 상단 모서리를 클릭하고 메뉴 항목 삽입을 선택하십시오. 그런 다음 파일-> 저장을 클릭하십시오. 확인을 클릭하십시오. 이제 작업 내 마지막 하위 항목이어야합니다.

이제 배치를 실행할 때 물건이 예상대로 하위 폴더에 유지됩니다.


감사합니다. 소리는 좋지만 구현하려는 시도가 잘못되었습니다! 테스트 파일을 열고 웹에 저장 (PNG8), 저장 메뉴 항목 추가라는 새 작업을 만들었습니다. 배치를 실행할 때 소스를 내 폴더로 설정하고 클릭하여 하위 폴더를 포함시킵니다. 그런 다음 'Override Action ...'을 선택하여 대상을 'None'과 'Save and Close'로 시도했습니다. 그러나 여전히 하위 폴더가 아닌 폴더의 루트에 파일이 있습니다.
Denis Hoctor

죄송합니다, 첫 번째 작업은 이미지-> 모드-> 8 비트 / 채널로 기록되었습니다. 솔직히 말해서 이것이 웹 저장 PNG8과 정확히 같은지 확실하지 않습니다. 나는 생각합니다. 그것을 테스트하십시오.
CreeDorofl

0

ImageMagick 설치 및 Powershell로 실행

 
#--------------------------------------------------------------------

# Powershell script to recursively convert image formats
# Configuration
$srcfolder = "C:\test\Animals"
$destfolder = "C:\test\Animals"
#This ps1 file will add copy files to designated folder
#Do NOT use Mogrify or the original images will be deleted
$im_convert_exe = "convert.exe -density 300"
# with VECTOR files the density setting should come BEFORE the vector file
# or the image will be blurry.
# change src_filter to the format of the source files
$src_filter = "*.eps"
# change dest_ext to the format of the destination files
$dest_ext = "png"
$options = "-depth 8 -alpha off"
$logfile = "C:\temp\convert.log"
$fp = New-Item -ItemType file $logfile -force
$count=0
foreach ($srcitem in $(Get-ChildItem $srcfolder -include $src_filter -recurse))
{
    $srcname = $srcitem.fullname

    # Construct the filename and filepath for the output
    $partial = $srcitem.FullName.Substring( $srcfolder.Length )
    $destname = $destfolder + $partial
    $destname= [System.IO.Path]::ChangeExtension( $destname , $dest_ext )
    $destpath = [System.IO.Path]::GetDirectoryName( $destname )

    # Create the destination path if it does not exist
    if (-not (test-path $destpath))
    {
        New-Item $destpath -type directory | Out-Null
    }

    # Perform the conversion by calling an external tool
    $cmdline =  $im_convert_exe + " `"" + $srcname  + "`"" + $options + " `"" + $destname + "`" " 
    #echo $cmdline
    invoke-expression -command $cmdline

    # Get information about the output file    
    $destitem = Get-item $destname

    # Show and record information comparing the input and output files
    $info = [string]::Format( "{0} `t {1} `t {2} `t {3} `t {4} `t {5}", $count, 
    $partial, $srcname, $destname, $srcitem.Length ,  $destitem.Length)
    echo $info
    Add-Content $fp $info

    $count=$count+1
} 

#--------------------------------------------------------------

 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.