jeremy tribby | ARTstor store

toys & code: ARTstor store

ARTstor is a digital library hosting millions of artworks. it is mostly available to universities and to libraries in affluent neighborhoods. I think there are problems with loaning photographs to proprietors and engaging in institutional internet culture in this way. even public museums usually have a “free day.”

anyway, for those of you with access to ARTstor, I put together a little greasemonkey script that will allow you to download the images as full, high-resolution JPEG and TIFF files. no more zooming in like an idiot!

to install, click the blue link below after making sure you’re running firefox with the greasemonkey extension installed.

to use, simply double click a thumbnail in artstor, and the usual zoom-in page will now have a link to the high-res image, in TIFF and JPEG formats — right-click the link to either, and in the “Save As..” dialogue, just be sure to save it as a .jpg or .tif file, depending on which link you’ve clicked.

artstor_store.user.js is tested to work using firefox 3.6 and greasemonkey 0.8.2. not sure about others, although I figure it won’t cooperate with chrome because it uses unsafeWindow( ). then again, if you know what that means, I’m certain you can make it work.

// ==UserScript==
// @name           ARTstor Store
// @namespace      http://jeremytribby.com/toys/artstor-stor/
// @include        http://*/library/iv2.html?parent=true
// ==/UserScript==

function sleeper() {

	if(unsafeWindow.ivRenderer._model._fpxData == null) {

		setTimeout(function(){sleeper()},1*256);

	} else {

		var ivRenderer = unsafeWindow.ivRenderer;
		var fpxData = ivRenderer._model._fpxData[0];

		var height = fpxData.height;
		var width = fpxData.width;
		var imageServer = fpxData.imageServer;
		var imageUrl = fpxData.imageUrl;

		var jpgLink = imageServer + imageUrl + '&wid=' + width + '&hei=' + height + '&rgnn=0,0,1,1&cvt=JPEG';

		var tifLink = imageServer + imageUrl + '&wid=' + width + '&hei=' + height + '&rgnn=0,0,1,1&cvt=TIF';

		var div = document.getElementById('navigation2');

		var button = '$& <div style="float: left; border:1px solid #96aaab; font-weight:bold; color: #000000; margin-left:10px; padding: 5px; font-size:10px; font-family:gerogia,tahoma,verdana,sans-serif;"><a href=\"' + jpgLink + '\">click for hi-res jpeg</a>  |  <a href=\"' + tifLink + '\">click for hi-res tiff</a></div>';

		div.innerHTML = div.innerHTML.replace(/last\.gif\';"><\/a>/,button);

	}

}

sleeper();