Become a fan of Slashdot on Facebook


Forgot your password?
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×
User Journal

Journal jcburns's Journal: Applescript to make thumbnails and javascript image swaps

I've added to and expanded the Diane Kirkland website ('s really done some nice images. So, in order to make all this work, I had to learn some javascript that most people would find routine...and then, because I made thumbnails by hand for two of the pages, I got tired of that and cobbled together this applescript (a lot of chunks from Apple's site):

property type_list : {"TIFF", "JPEG", "PNGf", "PICT"}
property extension_list : {"tif", "tiff", "jpg", "jpeg", "png", "pict", "pct"}
set thehtml to ""
set thehtml2 to ""
tell application "Finder"
        set the source_folder to choose folder with prompt "Pick a folder containing the images to process:"
        set these_files to every file of the source_folder whose file type is in the type_list or name extension is in the extension_list
        repeat with i from 1 to the count of these_files
            set this_path to (item i of these_files) as string
            tell application "Image Events"
                set this_image to open file this_path
                set theWidth to 100
                copy dimensions of this_image to {currentWidth, currentHeight}
                if currentWidth is greater than currentHeight then
                    -- image is wider than high so scale width
                    scale this_image to size theWidth
                    -- image is taller than wide so scale height
                    set the theHeight to (currentHeight * theWidth) / currentWidth
                    scale this_image to size theHeight
                end if
                set new_name to my change_name(alias (this_path))
                set the new_image to save this_image as JPEG in file new_name of the source_folder
                set thehtml to thehtml & "img[" & (i - 1) & "] = new Image(); img[" & (i - 1) & "].src = " & quote & name of source_folder & "/" & the name of this_image & quote & ";" & return
                set thehtml2 to thehtml2 & "<a href=\"javascript:imageSwap(" & (i - 1) & ")\"><img class=\"imagethumb\" src=\"" & name of source_folder & "/" & new_name & "\" ></a>" & return
                close this_image
            end tell
        end repeat
        set the clipboard to thehtml & return & return & thehtml2
    on error error_message
        display dialog error_message buttons {"OK"} default button 1
    end try
end tell
on change_name(this_file)
    set this_info to the info for this_file
    set this_name to the name of this_info
    set this_extension to the name extension of this_info
    if this_extension is missing value then
        set the default_name to this_name
        set the default_name to text 1 thru -((length of this_extension) + 2) of this_name
    end if
    return (the default_name & "_th." & the this_extension)
end change_name

And what's really nice about this for me is that I got it to put on the clipboard after making the thumbnails the chunks of the HTML/javascript I needed:

<script type="text/javascript">
var img = new Array();
img[0] = new Image(); img[0].src = "bw/Blueridge-17.jpg";
img[1] = new Image(); img[1].src = "bw/Blueridge-23.jpg";
img[2] = new Image(); img[2].src = "bw/Blueridge-31.jpg";
img[3] = new Image(); img[3].src = "bw/Coast-25.jpg";
img[4] = new Image(); img[4].src = "bw/Coast-34.jpg";
img[5] = new Image(); img[5].src = "bw/Piedmont-19.jpg";
img[6] = new Image(); img[6].src = "bw/Plains-27.jpg";
function imageSwap(x)
var imageObj = document.getElementById("imgbig");
imageObj.setAttribute("src", img[x].src);
<a href="javascript:imageSwap(0)"><img class="imagethumb" src="bw/Blueridge-17_th.jpg" ></a>
<a href="javascript:imageSwap(1)"><img class="imagethumb" src="bw/Blueridge-23_th.jpg" ></a>
<a href="javascript:imageSwap(2)"><img class="imagethumb" src="bw/Blueridge-31_th.jpg" ></a>
<a href="javascript:imageSwap(3)"><img class="imagethumb" src="bw/Coast-25_th.jpg" ></a>
<a href="javascript:imageSwap(4)"><img class="imagethumb" src="bw/Coast-34_th.jpg" ></a>
<a href="javascript:imageSwap(5)"><img class="imagethumb" src="bw/Piedmont-19_th.jpg" ></a>
<a href="javascript:imageSwap(6)"><img class="imagethumb" src="bw/Plains-27_th.jpg" ></a> that I didn't have to cut and paste and increment a zillion times. Heh!

This discussion has been archived. No new comments can be posted.

Applescript to make thumbnails and javascript image swaps

Comments Filter:

"Aww, if you make me cry anymore, you'll fog up my helmet." -- "Visionaries" cartoon