Adobe Photoshop Tipps & Scripts - Mike Unckel

Photoshop: Mehr als 31 Zeichen lange Dateinamen unter "Für Web Speichern..."

Ggf. möchte man mehr als 31 Zeichen lange Dateinamen vergeben. Photoshop schneidet die aber aus Gründen der Kompatibilität zu MAC OS9 und Unix die Namen ab. Dies läst sich einfach ändern - ist aber gut versteckt: (Unter CS2 Win.)

  • Im Fenster "Für Web speichern..." neben den Voreinstellungen auf den kleinen Pfeil klicken
  • Dort "Ausgabeeinstellungen bearbeiten..." wählen
  • Dann über die der Auswahlliste zu "Dateien speichern" springen
  • Und hier dann im Bereich "Dateinamenkompatibilität" MAC OS 9 und Unix deaktivieren

PhotoShop JavaScript

Februar 2010 | Permalink | Feedback


Photoshop: ICO-Format (Windows Icons, Favicons) direkt speichern

Photoshop kann auch in der aktuellen Version (CS4) noch immer nicht direkt das .ico-Dateiformat erstellen. Dabei benötigt man das Format z.B. für Favicons für Websites.

Mit den kostenlosen kleinen Format-Plugin von www.telegraphics.com.au geht's dann trotzdem! Einfach unter www.telegraphics.com.au/sw/#icoformat die Datei ICOFormat.8bi herunterladen und in den Ordner: C:\Programme\Adobe\Adobe Photoshop CSX\Zusatzmodule\Dateiformat (bzw. C:\Program Files\Adobe\Adobe Photoshop CSX\Plugins\File Formats) kopieren.

Über "Speichern unter..." dann das *.ICO-Format auswählen.

Gesehen bei:
www.tipps-tricks-kniffe.de/photoshop-ico-mit-photoshop-ico-dateien-icons-erstellen/
www.photoshop-weblog.de/10-kostenlose-plugins/

Schöne Icons gibt's unter anderem bei www.iconfinder.net

PhotoShop Tools

Januar 2010 | Permalink | Feedback


Photoshop Script: Mehrere Bilder auf gemeinsame Breite skalieren

Skaliert alle geöffneten Bilder im Photoshop auf einen vorgegebene gemeinsame Breite.

Beispiel: Will man mehrere unterschiedlich formatierte (breit- und hochformatige) Bilder auf einer Website platzieren und hat dazu 900 Pixel in der Breite, kann dieses Script alle Bilder auf eine gemeinsame Höhe und der gegebenen Breite skalieren.

//####################################################################
//
//  Arrange / resize images (same height) to a given total width
//  Photoshop Script (CS2, tested on PC) 
//
//####################################################################

// save the current preferences & settings
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO

// main script
var docs = app.documents;
var openDocs = docs.length;

var totalWidth = prompt('Total available width:', '500');
var spareWidth = prompt('Gap between pictures:', '0');
var totalSpare = spareWidth * (openDocs-1);
totalWidth = totalWidth - totalSpare;

// get height of all images and store in array
var imgSize = new Array();

for (var i=0; i<openDocs; i++) {
	app.activeDocument = docs[i];
	imgSize[i] = new ent(i, app.activeDocument.height);
}

// sort 2-dim. array  -> http://www.webmasterbiz.de/showthread.php?t=618
imgSize.sort(cmpnum);

var smallestCommonHeight = imgSize[0].height;
var totalOriginalWidth = 0;

// all images resize to smallestCommonHeight
for (var i=0; i<openDocs; i++) {
	app.activeDocument = docs[i];
	app.activeDocument.resizeImage(null, smallestCommonHeight, null, ResampleMethod.BICUBIC)
	totalOriginalWidth = totalOriginalWidth + app.activeDocument.width;
}

var summary = "Summary:\n";
var resizeValue = totalWidth / totalOriginalWidth;

// all images resize to the right width
for (var i=0; i<openDocs; i++) {
	app.activeDocument = docs[i];
	var newWidth = app.activeDocument.width * resizeValue;
	app.activeDocument.resizeImage(newWidth, null, null, ResampleMethod.BICUBIC)
	summary = summary + app.activeDocument.name + ": " + 
						app.activeDocument.width + " / " + 
						app.activeDocument.height + "\n";
}

// restore settings
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;

// finish!
alert(summary);

// array -> http://www.webmasterbiz.de/showthread.php?t=618
function ent(imgnr, height) {
    this.imgnr = imgnr;
	this.height = height;
}

// sort array by height
function cmpnum(inp1, inp2) {
    return inp1.height - inp2.height;
}

Dezember 2009 | Permalink | Feedback


Photoshop-Warnung: Einige Namen der zu speichernden Dateien enthalten nichtlateinische Zeichen...

Verwendent man im Photoshop die Funktion "Für Webspeichern...", erscheint folgende Meldung auch dann, wenn der Dateinamen gar keine nicht-lateinischen Zeichen beinhaltet.

Einige Namen der zu speichernden Dateien enthalten nichtlateinische Zeichen, die mit einigen Web-Browsern und Servern nicht kompatibel sind.
"Einige Namen der zu speichernden Dateien enthalten nichtlateinische Zeichen, die mit einigen Web-Browsern und Servern nicht kompatibel sind."

Das passiert, weil man wahrscheinliche das Bild in einem Ordner bzw. Unterordner versucht zu speichern, welche Sonderzeichen enthalten!

PhotoShop

Oktober 2009 | Permalink | Feedback


Photoshop: Scripts und Aktionen am Bildschirm mitverfolgen

Als Standard ist für Aktionen (das gilt auch für Scripts) im Photoshop "beschleunigt" eingestellt. D.h. man sieht die einzelnen Schritte einer Aktion/Script nicht am Bildschirm.
Manchmal will/muss man aber in die laufende Aktion eingreifen oder einfach den Fortschritt mitverfolgen.

Und so stellt man es ein:

Das kann auch innerhalb eines Scripts angegeben werden:
http://www.ps-scripts.com/bb/viewtopic.php?t=2633&highlight=show+actions+screen

screen, update, repaint, refresh, up-to-date

PhotoShop

Mai 2009 | Permalink | Feedback


Photoshop Script: Multipage PDF to JPG

Script für Photoshop (getestet mit CS2 auf PC) das PDF-Dateien mit mehreren Seiten in einzene JPG-Bilder konvertiert und speichert.

Wichtig: Nicht über das ExtendScript Toolkit ausführen (Debugger stoppt), sondern direkt über Datei > Scripten (> Durchsuchen).

//###################################################################
//
//  PDF to JPG (Supports Multipage PDF)
//  Photoshop Script (CS2, tested on PC)
//  unckel.de
//
//###################################################################

// main settings
var pdfSourcePath = "C:\\Test\\PDF\\";
var jpgTargetPath = "C:\\Test\\JPG\\";

var pdfResolution = 150; // dpi
var pdfPagesLoop  = 25;  // search to multipages (try and error)
var jpgQuality    = 12;  // 1-12, best quality = 12

//###################################################################

// save settings and customize environment
var startRulerUnits = app.preferences.rulerUnits;
var startTypeUnits = app.preferences.typeUnits;
var startDisplayDialogs = app.displayDialogs;
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.PIXELS;
app.displayDialogs = DialogModes.NO;

// list of all files
var picFolder = Folder(pdfSourcePath);
var fileList = picFolder.getFiles();

// exists source and target?
if (pdfSourcePath != null && jpgTargetPath != null) {

  // open all files
  for (var i = 0; i < fileList.length; i++) {

    // opens multipage PDFs
    for (var j = 1; j < pdfPagesLoop; j++) {

      // PDF options
      var pdfOpenOptions = new PDFOpenOptions;
      pdfOpenOptions.antiAlias = true;
      pdfOpenOptions.mode = OpenDocumentMode.RGB;
      pdfOpenOptions.resolution = pdfResolution;
      pdfOpenOptions.page = j;

      // try to open, save and close
      try {
        open(fileList[i], pdfOpenOptions);
        SaveAsJpg(app.activeDocument.name, jpgTargetPath, jpgQuality);
        app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
      }
      catch (e) {
        //alert(e.description);
      }
    }
  }
}

// restore settings
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;

alert("Done!");

//###################################################################

function SaveAsJpg(fileName, filePath, jpgQuality) {
  var saveFile = new File(filePath + "/" + fileName + ".jpg");
  jpgSaveOptions = new JPEGSaveOptions();
  jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
  jpgSaveOptions.embedColorProfile = true; // important if shown on browsers
  jpgSaveOptions.quality = jpgQuality;
  app.activeDocument.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);
}

Weitere Infos:
http://www.whatspop.com/blog/archive/2007_01_01_archive.cfm

PhotoShop pdf2jpg

April 2009 | Permalink | Feedback


Photoshop Script: Mehrere Bilder formatabhängig in ein Bild zusammen setzen

Setzt mehrere geöffnete Bilder in ein Bild zusammen, abhängig vom Format (breit/hoch).

//#####################################################################
//
//  Crop all open images and merge together in one image dependent size
//  Photoshop Script (CS2, tested on PC) 
//
//#####################################################################

// save the current preferences & settings
var startRulerUnits = app.preferences.rulerUnits
var startTypeUnits = app.preferences.typeUnits
var startDisplayDialogs = app.displayDialogs
app.preferences.rulerUnits = Units.PIXELS
app.preferences.typeUnits = TypeUnits.PIXELS
app.displayDialogs = DialogModes.NO

// main script
var docs = app.documents;
var openDocs = docs.length;

// crop all open images from border
var cropSize = prompt('Crop from border (in pixel).', '');

for (var i=0; i<openDocs; i++) {

	app.activeDocument = docs[i];
	app.activeDocument.changeMode(ChangeMode.RGB);

	// don't crop if no value or image is smaller
	if (cropSize != '' && cropSize > 0 && 
		cropSize < app.activeDocument.width && 
		cropSize < app.activeDocument.height) { 
			cropWidthFromBorder(cropSize);
	}
}

// resize canvas on first image dependent on image size
var pano;
app.activeDocument = docs[0];

if(app.activeDocument.width > app.activeDocument.height) {
	pano = true;
	app.activeDocument.resizeCanvas(app.activeDocument.width, 
		app.activeDocument.height * openDocs, AnchorPosition.TOPLEFT);
}
else {
	pano = false;
	app.activeDocument.resizeCanvas(app.activeDocument.width * openDocs, 
		app.activeDocument.height, AnchorPosition.TOPLEFT);
}

// put all images into first image
for (var j=1; j<openDocs; j++) {

	app.activeDocument = docs[j];
	app.activeDocument.activeLayer.copy();
	app.activeDocument = docs[0];

	if(pano) {
		setSection(0, app.activeDocument.height/2, 
			app.activeDocument.width, app.activeDocument.height);
	}
	else {
		setSection(app.activeDocument.width/2, 0, 
			app.activeDocument.width, app.activeDocument.height);
	}

	app.activeDocument.paste();
}

app.activeDocument.flatten();

// close all open images except the first
//if (confirm('Close all images except the first one?')) {
	for (var x=1; x<openDocs; x++) {
		docs[x].close(SaveOptions.DONOTSAVECHANGES)
	}
//}

// restore settings
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;

//alert("Done!");

//####################################################################

function cropWidthFromBorder(cropWidth) { 
	app.activeDocument.crop(Array(cropWidth,
		cropWidth,
		app.activeDocument.width - cropWidth,
		app.activeDocument.height - cropWidth));
}

function setSection(left, top, width, height) {
	var selRegion = Array(
		Array(left, top),
		Array(left + width, top),
		Array(left + width, top + height),
		Array(left, top + height),
		Array(left, top));
	app.activeDocument.selection.select(selRegion);
} 

Juli 2008 | Permalink | Feedback


Photoshop: Versehentliches Umschalten des Tastaturlayouts

Ab und zu passiert es mir (wohl bei zu eifriger Arbeit mit Photoshop), daß plötzlich das Tastaturlayout geändert wurde. Merkt man gleich daran, daß z.B. [Strg] + [Z] (Rückgängig) nicht mehr funktioniert.

Das Problem:
Unter Windows (XP) wird über [Strg] + [Alt] das Tastaturlayout geändert (z.B. von DE auf EN). Im Adobe Photoshop gibt es unter anderem aber die Tastenkombinationen für "Für Web speichern" [Alt] + [Umschalt] + [Strg] + [S] oder mehrfaches Rückgängig mit [Alt] + [Strg] + [Z] uws.

Die Lösung:
Entweder im Photoshop oder besser, da seltener gebraucht, in der Systemsteuerung die Tastenkürzel ändern. Oder das Umschalten per Kürzel einfach deaktivieren.


vergrößern

PhotoShop

Mai 2008 | Permalink | Feedback


Photoshop bleibt beim Start hängen

Ursache für die Startprobleme bei Photoshop (CS2/PC) kann eine beschädigte Voreinstellungsdatei sein. Löscht man diese, wird die Datei automatisch beim nächsten Start wieder erstellt und Photoshop starten wieder.

Die Voreinstellungsdatei findet sich unter:
C:\Dokumente und Einstellungen\Profilname\Anwendungsdaten\Adobe\Photoshop\9.0\Adobe Photoshop CS2 Settings\Adobe Photoshop CS2 Prefs.psp

Evtl. muss über den Windows Explorer -> Extras -> Ordneroptionen -> Ansicht die Versteckten Dateien und Ordner eingeblendet werden.

Achtung:Dabei gehen jedoch alle Voreinstellungen samt den Werkzeugspitzen, Aktionen usw. verloren sofern man diese nicht explizit gespeichert hat!

PhotoShop

Oktober 2007 | Permalink | Feedback


Photoshop Script: Alle Bilder in einem Ordner verkleinern, Rand entfernen und speichern

Skaliert alle Bilder aus einem Ordner auf die gegebene maximal Breite/Höhe und speichert diese wieder ab. Zusätzlich kann ein Rand entfernt und der Dateiname angepasst werden.

//###################################################################################
//
// Crop image by dialog
// Resize images to max 500px depends of witgh/height and save as JPG
// Photoshop Script (CS2, tested on PC) 
//
//###################################################################################

// main settings
var picSourcePath = "C:\\Test\\Original\\";
var picTargetPath = "C:\\Test\\JPG\\";
var maxSize = 500; // max width and height

//###################################################################################

// save settings and customize environment
var startRulerUnits = app.preferences.rulerUnits;
var startTypeUnits = app.preferences.typeUnits;
var startDisplayDialogs = app.displayDialogs;
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.PIXELS;
app.displayDialogs = DialogModes.NO;
//var doc = app.activeDocument;

var picFolder = Folder(picSourcePath);
var fileList = picFolder.getFiles();

if (picSourcePath != null && picTargetPath != null) {

	for (var i=0; i<fileList.length; i++) {

		if (fileList[i] instanceof File) {
			open(fileList[i]);

			var newFileName = fileList[i].name;
			app.activeDocument.changeMode(ChangeMode.RGB);

			if (app.activeDocument.width > maxSize || app.activeDocument.height > maxSize) { 

				// remove surrounding
				var cropSize = prompt('Crop from Border (px).', '');

				if (cropSize != '' && cropSize > 0 && 
					cropSize < app.activeDocument.width && 
					cropSize < app.activeDocument.height) { 
						cropWidthFromBorder(cropSize);
				}
				
				// resize
				resize(maxSize);		

				//if (confirm('Sharpen?')) {						
				//	app.activeDocument.activeLayer.applySharpen();
				//}
				
				//if (confirm('Save and Close?')) {						
					saveWebJpg(newFileName.substring(0, newFileName.length-4) + ".jpg", picTargetPath, 75);
					//app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
				//}
			}
			else {
				// if pictures already 500px or smaller, then only rename
				fileList[i].rename(picTargetPath + newFileName.substring(0, newFileName.length-4) + ".jpg");
			}
			
			// ... and close at all events
			app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
		}
	}
}


// restore settings
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;

alert("Done!");

// Funktion um Dokument als Jpeg zu speichern (Fuer Web speichern...)
// Parameter: Dateiname, Pfad mit abschliessendem '\'!, Qualitaet 1-100
// Beispielaufruf: saveWebJpg("test.jpg", "c:\\bilder\\", 75);
function saveWebJpg(jpgName, filePath, jpgQuality ) {
 var saveFile = new File(filePath + jpgName);
 var webJpgOptions = new ExportOptionsSaveForWeb();
 webJpgOptions.format = SaveDocumentType.JPEG;
 webJpgOptions.optimized = true;
 webJpgOptions.quality = jpgQuality;
 activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, webJpgOptions);
 File = null; ExportOptionsSaveForWeb = null;
}

// http://www.chadwickwood.com/2008/11/conditional-image-resizing-with-photoshop-and-javascript
function resize(size)
{
  if(app.activeDocument.width > app.activeDocument.height)
    app.activeDocument.resizeImage(size, (size * app.activeDocument.height/app.activeDocument.width),null, ResampleMethod.BICUBIC);
  else
    app.activeDocument.resizeImage((size * app.activeDocument.width/app.activeDocument.height), size, null, ResampleMethod.BICUBIC);
} 

function cropWidthFromBorder(cropWidth) { 
	app.activeDocument.crop(Array(
		cropWidth,
		cropWidth,
		app.activeDocument.width - cropWidth,
		app.activeDocument.height - cropWidth));
}

August 2007 | Permalink | Feedback


Photoshop: Tonwertkorrektur im Dialogfenster zurücksetzen

Hat man Einstellungen in der Tonwertkorrektur vorgenommen und will diese rückgängig machen, so muss nicht abgebrochen werden, was ja ein schließen des Dialogfensters zu Folge hätte.

Einfach auf die [Alt] oder [Alt Gr]-Taste gedrückt und aus der Abbrechen-Schaltfläche wird eine Zurück-Schaltfläche!

PhotoShop

Juni 2007 | Permalink | Feedback


Photoshop Script: Hinweistext in Bild setzen

Diesen Script wird über Adobe Photoshop (CS2) aufgerufen und fügt automatisch einen Hinweistext (z.B. Copyright-Hinweis) unten rechts in Bildern ein.

Vorgehensweise:
  • JavaScript als *.js irgendwo auf dem Rechner speichern
  • Einstellungen im Skript anpassen (einfacher Editor oder ExtendScript Toolkit)
  • Photoshop starten
  • Datei > Skripten > Durchsuchen dann Laden und fertig!
//###################################################################################
//
//  Skript um einen Hinweistext ins Bild zu setzen und als Web-JPEG zu speichern
//
//###################################################################################

// Einstellungen
var picSourcePath = "C:\\Quellordner\\";
var picTargetPath = "C:\\Zielordner\\";
var picText       = "Copyright © 2006 by Name";
var picTextSize   = 10; // Wert in Pixel

//###################################################################################

// Hauptskript...

// Photoshop-Einstellungen sichern
var startRulerUnits = app.preferences.rulerUnits;
var startTypeUnits = app.preferences.typeUnits;
var startDisplayDialogs = app.displayDialogs;

// Dialoge verbergen und Pixel als Einheit einstellen
app.preferences.rulerUnits = Units.PIXELS;
app.preferences.typeUnits = TypeUnits.PIXELS;
app.displayDialogs = DialogModes.NO;

// Liste aller Dateien und Ordner erstellen
var picFolder = Folder(picSourcePath);
var fileList = picFolder.getFiles();

// Pruefung ob auch Dateien und Ordner vorhanden sind
if (picSourcePath != null && picTargetPath != null) {

	// Quellbilder in Schleife oeffnen
	for (var i=0; i<fileList.length; i++) {

		// Nur Dateien (und keine Ordner) oeffnen
		if (fileList[i] instanceof File) {
			open(fileList[i]);

			// schwarzer Text als neue Ebene setzen; ist fuer die Umrandung
			setMyText(picText, picTextSize, "Verdana", "000000", 3, 0,
			activeDocument.width-4, activeDocument.height-4);

			// weisser Text als neue Ebene setzen
			setMyText(picText, picTextSize, "Verdana", "FFFFFF", 3, 0,
			activeDocument.width-4, activeDocument.height-4);

			// Alle Ebenen rastern (um Effekte auf Text anwenden zu koennen)
			activeDocument.rasterizeAllLayers();

			// Auf untere Textebene den Filter Dunkle Bereiche vergroessern, Wert=1px
			activeDocument.artLayers[1].applyMinimum(1);

			// Transparent der unteren Textebene auf 30%, der oberen auf 60%
			activeDocument.artLayers[1].opacity = 30;
			activeDocument.artLayers[0].opacity = 60;

			// Bild als JPG speichern (Fuer Web speichern...)
			var newFileName = fileList[i].name;
			saveWebJpg(newFileName.substring(0, newFileName.length-4) + ".jpg",	picTargetPath, 60);

			// Schliessen ohne Nachfrage
			app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);

		}
	}
}

// Photoshop-Einstellungen zuruecksetzen
app.preferences.rulerUnits = startRulerUnits;
app.preferences.typeUnits = startTypeUnits;
app.displayDialogs = startDisplayDialogs;

alert("Skript fertig :)");

//###################################################################################

// Hilfsfunktionen...

// Funktion um Dokument als Jpeg zu speichern (Fuer Web speichern...)
// Parameter: Dateiname, Pfad mit abschliessendem '\'!, Qualitaet 1-100
// Beispielaufruf: saveWebJpg("test.jpg", "c:\\bilder\\", 75);
function saveWebJpg(jpgName, filePath, jpgQuality ) {
	var saveFile = new File(filePath + jpgName);
	var webJpgOptions = new ExportOptionsSaveForWeb();
	webJpgOptions.format = SaveDocumentType.JPEG;
	webJpgOptions.optimized = true;
	webJpgOptions.quality = jpgQuality;
	activeDocument.exportDocument(saveFile, ExportType.SAVEFORWEB, webJpgOptions);
	File = null; ExportOptionsSaveForWeb = null;
}

// Funktion um Text ins Dokument zu setzen. Neue Textebene wird erstellt.
// Parameter: Text, Groesse, Schriftart, Farbe (Hex), Ausrichtung, Glaettung, PosX, PosY
// Ausrichtung: 1=links, 2=zentriert, 3=rechts; Glaettung: 0=aus; 1=scharf
// Beispielaufruf: setMyText("Mein Text", 10, "Arial", "FF0000", 1, 0, 50, 50);
function setMyText(theTxt, txtSize, txtFont, txtColor, txtAlign, txtAntiAlias, txtPosX, txtPosY) {
	var thisDoc = activeDocument;
	var textColor = new SolidColor;
	textColor.rgb.hexValue = txtColor;
	var myTextLayer = thisDoc.artLayers.add();
	myTextLayer.kind = LayerKind.TEXT;
	myTextLayer.textItem.contents = theTxt;
	myTextLayer.textItem.font = txtFont;
	myTextLayer.textItem.size = txtSize;
	myTextLayer.textItem.color = textColor;
	switch (txtAlign) {
		case 1:  myTextLayer.textItem.justification = Justification.LEFT;   break;
		case 2:  myTextLayer.textItem.justification = Justification.CENTER; break;
		case 3:  myTextLayer.textItem.justification = Justification.RIGHT;  break; }
	switch (txtAntiAlias) {
		case 0:  myTextLayer.textItem.antiAliasMethod = AntiAlias.NONE;  break;
		case 1:  myTextLayer.textItem.antiAliasMethod = AntiAlias.SHARP; break; }
	myTextLayer.textItem.position = Array(txtPosX,txtPosY);
}

PhotoShop JavaScript

März 2006 | Permalink | Feedback