// HDkuvat.jsx // Photoshop CS Javascript // Markku Metsämäki 2012 // // Toimii Adobe Photoshop CS3:ssa tai uudemmassa versiossa. // // Skripti avaa valitun kansion jpg- ja jpeg-kuvat, muuntaa ne HD-kuviksi ja // kopioi HD kuvat valittuun kansioon. Alkuperäiset kuvat säilyvät sellaisenaan. // // Installointi: // 1. Kopioi HDkuvat.jsx paikkaan: // PC(32): C:\Program Files (x86)\Adobe\Adobe Photoshop CS#\Presets\Scripts\ // PC(64): C:\Program Files\Adobe\Adobe Photoshop CS# (64 Bit)\Presets\Scripts\ // Mac: /Applications/Adobe Photoshop CS#/Presets/Scripts/ // 2. Käynnistä Photoshop uudelleen // 3. Valitse File > Scripts > HDkuvat // // Käynnistyy myös tuplaklikkaamalla tiedostoa HDkuvat Macintoshin Finderista tai Windows Explorerista. // // Salli tuplaklikkaus Macintoshin Finderista tai Windows Explorerista #target photoshop // Siirrä Photoshop etualalle tuplaklikkauksen jälkeen app.bringToFront(); // Kuvakansio var strOriginaalikansio // Tee HD-kuvat main(); // Pääohjelma function main() { // Käsiteltävien tiedostojen laajennukset gValitut = Array( "jpg", "jpeg" ); // Kysy kansio strOriginaalikansio = Folder.selectDialog("Valitse kuvien kansio"); // Avaa originaalikansio Avaakuvat(); } // Lue kuvat, käsittele ja talleta function Avaakuvat() { var iAvatut = 0; var strKuvatiedostot = strOriginaalikansio.getFiles(); for ( var i = 0; i < strKuvatiedostot.length; i++ ) { // Avaa vain halutut kuvat if ( strKuvatiedostot[i] instanceof File && ! strKuvatiedostot[i].hidden && OnkoHaluttu( strKuvatiedostot[i], gValitut )) { open( strKuvatiedostot[i] ); iAvatut++; // Luo kuvien nimet var strJonopituus = app.activeDocument.name.toString().length; var iPiste = app.activeDocument.name.toString().lastIndexOf( "." ); var strTiedostonimi = app.activeDocument.name.toString().substr( 0, iPiste ); var strTuloskuvanimi = strTiedostonimi + "_HD.jpg" // Skaalaa HD kokoon if (app.activeDocument.width.value > 1920) { app.activeDocument.resizeImage(1920); } // Talleta HD kuva var jpegOptions = new JPEGSaveOptions() jpegOptions.quality = 7 app.activeDocument.saveAs(new File(strOriginaalikansio + "/" + strTuloskuvanimi), jpegOptions) // Sulje alkuperäinen kuva app.activeDocument.close(SaveOptions.DONOTSAVECHANGES); } } return iAvatut; } // Tarkista onko haluttu kuvatiedosto function OnkoHaluttu( strKuvanimi, strLaajenteet ) { var iPiste = strKuvanimi.toString().lastIndexOf( "." ); if ( iPiste == -1 ) { return false; } var strTunnus = strKuvanimi.toString().substr( iPiste - 3, 3 ); if ( strTunnus == "_HD" ) { return false; } var strJonopituus = strKuvanimi.toString().length; var strLaajenne = strKuvanimi.toString().substr( iPiste + 1, strJonopituus - iPiste ); strLaajenne = strLaajenne.toLowerCase(); for (var i = 0; i < strLaajenteet.length; i++ ) { if ( strLaajenne == strLaajenteet[i] ) { return true; } } return false; }