Ишим - городской портал

Вернуться   Ишимский форум > Наши интересы > Ишимский обменник 627750.ru
Ответ
 
LinkBack Опции темы Опции просмотра

Календарик для фотошопа
Старый 01.12.2010, 03:25   #1
ктулху (великий и ужасный)
 
Аватар для AIshobotom
 
AIshobotom вне форума

Регистрация: 20.04.2010
Сообщений: 3,915
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
AIshobotom на пути к лучшему
По умолчанию Календарик для фотошопа

Код:
#target photoshop

$.level=1;

app.bringToFront();

var y;
var m;
var eMsg="Неправильное значение";

function aYear() {
	y=prompt("Введи год (1901...):",2011);
	if (y) {
		if (y>1900&&y.toString().length<5) aMonth();
		else {
			alert(eMsg);
			aYear();
		}
	}
}

function aMonth() {
	m=prompt("Введи месяц (1...12):",1);
	if (m) {
		--m;
		if (m>-1&&m<12) main();
		else {
			alert(eMsg);
			aMonth();
		}
	}
}

function main() {
	var n=new Date();
	var mN=Array("Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь");
	var dN=Array("пн","вт","ср","чт","пт","сб","вс");
	n.setYear(y);
	n.setMonth(m);
	n.setDate(1);
	n.setHours(12);
	var x=n.getDay();
	var bU=app.preferences.rulerUnits;
	app.preferences.rulerUnits=Units.PIXELS;
	var doc=app.documents.add(420,360,72,"Календарь_"+mN[m]+"_"+y,NewDocumentMode.RGB,DocumentFill.WHITE,1);
	var gr=new Array();
	gr[0]=doc.layerSets.add();
	gr[1]=gr[0].layerSets.add();
	gr[2]=gr[0].layerSets.add();
	gr[0].name=mN[m]+" "+y;
	gr[1].name="Названия";
	gr[2].name="Числа";
	var f="TimesNewRomanPSMT"; //PostScript font name
	var s=30; //font size
	var j=Justification.CENTER;
	var aa=AntiAlias.CRISP;
	var c=new SolidColor;
	with (c.rgb) { red=255; green=0; blue=0; }
	var w;
	var h;
	var l=gr[0].artLayers.add();
	l.kind=LayerKind.TEXT;
	with (l.textItem) {
		contents=mN[m]+" "+y;
		position=Array(doc.width/2,doc.height/8-doc.height/32);
		font=f;
		fauxBold=true;
		size=s*1.25;
		justification=j;
		antiAliasMethod=aa;
	}
	gr[1].moveAfter(l);
	gr[2].moveAfter(gr[1]);
	var q=confirm("Разбить вертикально?");
	var z=confirm("Обозначить выходные дни?");
	for (i=0; i<7; ++i) {
		if (q==true) {
			w=0;
			h=doc.height/8*(i+2);
		} else {
			w=doc.width/7*i;
			h=doc.height/4;
		}
		l=gr[1].artLayers.add();
		l.kind=LayerKind.TEXT;
		with (l.textItem) {
			contents=dN[i];
			position=Array(w+doc.width/14,h-doc.height/32);
			font=f;
			size=s/1.5;
			justification=j;
			antiAliasMethod=aa;
			if (z==true&&i>4) color=c;
		}
	}
	var p=3;
	for (i=1; m==n.getMonth(); ++i) {
		if (q==true) {
			w=doc.width/7*(p-2);
			h=doc.height/8*(x+i);
		} else {
			w=doc.width/7*(x+i-2);
			h=doc.height/8*p;
		}
		l=gr[2].artLayers.add();
		l.kind=LayerKind.TEXT;
		with (l.textItem) {
			contents=i;
			position=Array(w+doc.width/14,h-doc.height/32);
			font=f;
			size=s;
			justification=j;
			antiAliasMethod=aa;
			if (z==true&&x+i>6) color=c;
		}
		if (x+i>7) {
			++p;
			x-=7;
		}
		n.setDate(1+i);
	}
	doc.activeLayer=gr[0];
	app.preferences.rulerUnits=bU; //or Units.MM
}

aYear();
  Ответить с цитированием

Старый 01.12.2010, 13:12   #2
ктулху (великий и ужасный)
 
Аватар для OniX
 
OniX вне форума

Регистрация: 20.10.2007
Адрес: Тюмень
Сообщений: 5,014
Сказал(а) спасибо: 426
Поблагодарили 227 раз(а) в 193 сообщениях
Сказал(а) спасибо: 426
Поблагодарили 227 раз(а) в 193 сообщениях
OniX на пути к лучшему
По умолчанию

сеньк, в копилку скрипт
  Ответить с цитированием

Старый 08.03.2011, 00:26   #3
ктулху (великий и ужасный)
 
Аватар для AIshobotom
 
AIshobotom вне форума

Регистрация: 20.04.2010
Сообщений: 3,915
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
AIshobotom на пути к лучшему
По умолчанию

версия #2))
Код:
#target photoshop

$.level=1;

app.bringToFront();

var n=new Date();
var eMsg="Неправильное значение";

function aYear() {
	var y=prompt("Год (1901...):",1900+n.getYear());
	if (y!=null) {
		if (y>1900&&y.toString().length<5) aMonth(y);
		else {
			alert(eMsg);
			aYear();
		}
	}
}

function aMonth(y) {
	var m=prompt("Месяц (1...12):",1+n.getMonth());
	if (m!=null) {
		--m;
		if (m>-1&&m<12) aFontName(y,m);
		else {
			alert(eMsg);
			aMonth(y);
		}
	}
}

function aFontName(y,m) {
	var f=prompt("Название шрифта:","Times New Roman");
	if (f!=null) {
		for (i=app.fonts.length-1; i>=0; --i) {
			if (app.fonts[i].name==f) {
				f=app.fonts[i].postScriptName;
				break;
			} else {
				if (i==0) f="";
			}
		}
		if (f.length>0) main(y,m,f);
		else {
			alert(eMsg);
			aFontName(y,m);
		}
	}
}

function main(y,m,f) {
	var s=prompt("Размер шрифта:",30); //font size
	if (s!=null) {
		if (s.indexOf(",")!=-1) s=s.substring(0,s.indexOf(","))+"."+s.substring(s.indexOf(",")+1,s.length);
		if (isNaN(s)||s<0.01||s>1296) {
			alert(eMsg);
			main(y,m,f);
		} else {
			var j=Justification.CENTER;
			var aa=AntiAlias.CRISP;
			var c=new SolidColor;
			c.rgb.hexValue="ff0000";
			var w,h;
			var mN=["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"];
			var dN=["пн","вт","ср","чт","пт","сб","вс"];
			n.setYear(y);
			n.setMonth(m);
			n.setDate(1);
			n.setHours(12);
			var x=n.getDay();
			if (x==0) x=7;
			var bTU=app.preferences.typeUnits;
			var bRU=app.preferences.rulerUnits;
			app.preferences.typeUnits=TypeUnits.POINTS;
			app.preferences.rulerUnits=Units.PIXELS;
			var d=app.documents.add(420,360,72,"Календарь_"+mN[m]+"_"+y,NewDocumentMode.RGB,DocumentFill.WHITE,1,BitsPerChannelType.EIGHT);
			var gr=new Array();
			gr[0]=d.layerSets.add();
			gr[1]=gr[0].layerSets.add();
			gr[2]=gr[0].layerSets.add();
			gr[0].name=mN[m]+" "+y;
			gr[1].name="Названия";
			gr[2].name="Числа";
			var l=gr[0].artLayers.add();
			gr[1].moveAfter(l);
			gr[2].moveAfter(gr[1]);
			l.kind=LayerKind.TEXT;
			with (l.textItem) {
				contents=mN[m]+" "+y;
				position=[d.width/2,d.height/8-d.height/32];
				font=f;
				fauxBold=true;
				size=s*1.25;
				justification=j;
				antiAliasMethod=aa;
			}
			var q=confirm("Разбить вертикально?");
			var z=confirm("Обозначить выходные дни?");
			for (i=0; i<7; ++i) {
				if (q==true) {
					w=0;
					h=d.height/8*(i+2);
				} else {
					w=d.width/7*i;
					h=d.height/4;
				}
				l=gr[1].artLayers.add();
				l.kind=LayerKind.TEXT;
				with (l.textItem) {
					contents=dN[i];
					position=[w+d.width/14,h-d.height/32];
					font=f;
					size=s/1.5;
					justification=j;
					antiAliasMethod=aa;
					if (z==true&&i>4) color=c;
				}
			}
			var p=2;
			for (i=1; m==n.getMonth(); ++i) {
				if (q==true) {
					w=d.width/7*(p-1);
					h=d.height/8*(x+i);
				} else {
					w=d.width/7*(x+i-2);
					h=d.height/8*(p+1);
				}
				l=gr[2].artLayers.add();
				l.kind=LayerKind.TEXT;
				with (l.textItem) {
					contents=i;
					position=[w+d.width/14,h-d.height/32];
					font=f;
					size=parseFloat(s);
					justification=j;
					antiAliasMethod=aa;
					if (z==true&&x+i>6) color=c;
				}
				if (x+i>7) {
					++p;
					x-=7;
				}
				n.setDate(1+i);
			}
			d.activeLayer=gr[0];
			app.preferences.typeUnits=bTU;
			app.preferences.rulerUnits=bRU; //or Units.MM
		}
	}
}

aYear();

Последний раз редактировалось AIshobotom; 20.05.2011 в 10:18..
  Ответить с цитированием

Старый 01.03.2012, 16:34   #4
ктулху (великий и ужасный)
 
Аватар для AIshobotom
 
AIshobotom вне форума

Регистрация: 20.04.2010
Сообщений: 3,915
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
AIshobotom на пути к лучшему
По умолчанию

Код:
/*
Script generates a calendar for any month.
Created by AIshobotom, 2012
[Ссылки могут видеть только зарегистрированные пользователи. ]
*/


#target photoshop

function Calendar() {

	var n = new Date();

	// update font list
	app.refreshFonts();

	// initial values, as to default
	this.params = {
		FontName: "Times New Roman",
		FontSize: 50,
		AntiAlias: AntiAlias.CRISP,
		Color0: "000000",
		Color1: "FF0000",
		VerticalDirection: true,
		IncreaseBaseline: 0
	}

	// all strings which are used in the GUI and the document
	switch (app.locale.substr(0, 2)) {
		case "ru":
			this.str = {
				Title: "Календарь",
				Date: "Дата",
				Month: "Месяц",
				Year: "Год",
				Parameters: "Параметры",
				FontName: "Шрифт",
				FontSize: "Размер шрифта",
				AntiAliasing: "Сглаживание",
				None: "Нет",
				Sharp: "Острее",
				Crisp: "Чётче",
				Strong: "Сильнее",
				Smooth: "Глаже",
				Color: "Цвет",
				Color0: "Будней",
				Color1: "Выходных",
				Vertical: "Вертикально",
				Horizontal: "Горизонтально",
				Baseline: "Отступ",
				Language: "Язык",
				Ok: "OK",
				Cancel: "Отмена",
				Pixels: "пикселей",
				Points: "точек",
				MM: "мм.",
				IncorrectValue: "Неправильное значение",
				DaysOfWeek: "Дни недели",
				Dates: "Числа"
			}
			break;
		default:
			this.str = {
				Title: "Calendar",
				Date: "Date",
				Month: "&Month",
				Year: "&Year",
				Parameters: "Parameters",
				FontName: "&Font",
				FontSize: "Font &size",
				AntiAliasing: "&Antialiasing method",
				None: "None",
				Sharp: "Sharp",
				Crisp: "Crisp",
				Strong: "Strong",
				Smooth: "Smooth",
				Color: "Color",
				Color0: "&Work days",
				Color1: "Holi&days",
				Vertical: "&Vertical",
				Horizontal: "&Horizontal",
				Baseline: "&Baseline",
				Language: "&Language",
				Ok: "OK",
				Cancel: "Cancel",
				Pixels: "pixels",
				Points: "points",
				MM: "mm.",
				IncorrectValue: "Incorrect Value",
				DaysOfWeek: "Days of the week",
				Dates: "Dates"
			}
	}

	// strings which are contents of the document
	this.str.docLang = [
		["русский",
			["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
			["пн", "вт", "ср", "чт", "пт", "сб", "вс"]
		],
		["english",
			["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
			["mo", "tu", "we", "th", "fr", "sa", "su"]
		],
		["deutsche",
			["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "October", "November", "Dezember"],
			["mo", "di", "mi", "do", "fr", "sa", "so"]
		],
		["française",
			["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
			["lu", "ma", "me", "je", "ve", "sa", "di"]
		],
		["el español",
			["Enero de", "Febrero de", "Marzo de", "Abril de", "Mayo de", "Junio de", "Julio de", "Agosto de", "Septiembre de", "Octubre de", "Noviembre de", "Diciembre de"],
			["lu", "ma", "mi", "ju", "vi", "sá", "do"]
		],
		["italiane",
			["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
			["lu", "ma", "me", "gi", "ve", "sa", "do"]
		]
	].sort();

	// set pixels a units of measure, or it is possible any others
	app.preferences.typeUnits = TypeUnits.PIXELS;
	switch (app.preferences.typeUnits) {
		case TypeUnits.POINTS: app.preferences.rulerUnits = Units.POINTS; var u = this.str.Points; break;
		case TypeUnits.MM: app.preferences.rulerUnits = Units.MM; var u = this.str.MM; break;
		default: app.preferences.rulerUnits = Units.PIXELS; var u = this.str.Pixels;
	}

	// create script UI with placed parameters values
	this.dlgMain = new Window("dialog { \
		orientation: 'column', alignChildren: 'fill', \
 		p0: Panel { margins: [10, 15, 10, 10], alignChildren: 'right', text: '" + this.str.Date + "', \
			g0: Group { orientation: 'row', spacing: 5, \
				l0: StaticText { text: '" + this.str.Month + ":' } \
				t0: EditText { preferredSize: [45, 20], text: '" + (1+n.getMonth()) + "' } \
				l1: StaticText { text: ' " + this.str.Year + ":' } \
				t1: EditText { preferredSize: [45, 20], text: '" + n.getFullYear() + "' } } \
			g1: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.Language + ":' } \
				s: DropDownList { preferredSize: [80, 22] } } } \
		p1: Panel { margins: [10, 15, 10, 10], alignChildren: 'right', text: '" + this.str.Parameters + "', \
			g0: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.FontName + ":' } \
				s: DropDownList { preferredSize: [165, 22] } } \
			g1: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.FontSize+":' } \
				t: EditText { preferredSize: [40, 20], fractionalOpportunity: true, text: '" + this.params.FontSize.toString().replace(/\./g, ',') + "' } \
				u: StaticText { text: '" + u + "' } } \
			g2: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.AntiAliasing + ":' } \
				s: DropDownList { preferredSize: [80, 22] } } \
			g3: Group { orientation: 'row', spacing: 5,\
				l: StaticText { text: '" + this.str.Color + ":' } \
				b0: Button { preferredSize: [80, 22], text: '" + this.str.Color0 + "', helpTip: '" + this.params.Color0 + "' } \
				b1: Button { preferredSize: [80, 22], text: '" + this.str.Color1 + "', helpTip: '" + this.params.Color1 + "' } } \
			g4: Group { orientation: 'row', spacing: 5, \
				r0: RadioButton { value: " + this.params.VerticalDirection + ", text: '" + this.str.Vertical + "' } \
				r1: RadioButton { value: " + !this.params.VerticalDirection + ", text: '" + this.str.Horizontal + "' } } \
			g5: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.Baseline + ":' } \
				s: Slider { value: " + this.params.IncreaseBaseline + ", minvalue: -5, maxvalue: 20 } } } \
		btns: Group { alignment: 'right', margins: [0, 10, 0, 0] } \
	}", this.str.Title);

	var d = this.dlgMain;

	for (var i = 0; i < this.str.docLang.length; i++) {
		d.p0.g1.s.add("item", this.str.docLang[i][0]);
		if (this.str.docLang[i][0] == "русский") d.p0.g1.s.selection = i;
	}
	if (d.p0.g1.s.selection == null) d.p0.g1.s.selection = 0;

	for (var i = 0; i < app.fonts.length; i++) {
		d.p1.g0.s.add("item", app.fonts[i].name);
		if (app.fonts[i].name == this.params.FontName) d.p1.g0.s.selection = i;
	}
	if (d.p1.g0.s.selection == null) d.p1.g0.s.selection = 0;
	this.params.FontName = app.fonts[d.p1.g0.s.selection.index].postScriptName;

	d.p1.g2.s.add("item", this.str.None);
	d.p1.g2.s.add("item", this.str.Sharp);
	d.p1.g2.s.add("item", this.str.Crisp);
	d.p1.g2.s.add("item", this.str.Strong);
	d.p1.g2.s.add("item", this.str.Smooth);
	switch (this.params.AntiAlias) {
		case AntiAlias.NONE: d.p1.g2.s.selection = 0; break;
		case AntiAlias.SHARP: d.p1.g2.s.selection = 1; break;
		case AntiAlias.CRISP: d.p1.g2.s.selection = 2; break;
		case AntiAlias.STRONG: d.p1.g2.s.selection = 3; break;
		case AntiAlias.SMOOTH: d.p1.g2.s.selection = 4; break;
	}

	d.p1.g5.s.preferredSize.width = 137;
	d.p1.g5.s.helpTip = (d.p1.g5.s.value > 0) ? "+" : "";
	d.p1.g5.s.helpTip += d.p1.g5.s.value.toString().replace(/\./g, ",");

	d.defaultElement = d.btns.add("button", undefined, this.str.Ok);
	d.cancelElement = d.btns.add("button", undefined, this.str.Cancel);

	d.graphics.backgroundColor = d.graphics.newBrush(d.graphics.BrushType.THEME_COLOR, "appDialogBackground");

	// descriptions of the event handlers
	d.p0.g0.t0.addEventListener("keydown", NumericEditKeyboardHandler);
	d.p0.g0.t1.addEventListener("keydown", NumericEditKeyboardHandler);
	d.p1.g1.t.addEventListener("keydown", NumericEditKeyboardHandler);

	d.p1.g0.s.onChange = function() {
		gCalendar.params.FontName = app.fonts[this.selection.index].postScriptName;
	}
	d.p1.g2.s.onChange = function() {
		switch (this.selection.index) {
			case 0: gCalendar.params.AntiAlias = AntiAlias.NONE; break;
			case 1: gCalendar.params.AntiAlias = AntiAlias.SHARP; break;
			case 2: gCalendar.params.AntiAlias = AntiAlias.CRISP; break;
			case 3: gCalendar.params.AntiAlias = AntiAlias.STRONG; break;
			case 4: gCalendar.params.AntiAlias = AntiAlias.SMOOTH; break;
		}
	}
	d.p1.g3.b0.onClick = function() {
		app.foregroundColor.rgb.hexValue = gCalendar.params.Color0;
		if (app.showColorPicker()) gCalendar.params.Color0 = this.helpTip = app.foregroundColor.rgb.hexValue;
	}
	d.p1.g3.b1.onClick = function() {
		app.foregroundColor.rgb.hexValue = gCalendar.params.Color1;
		if (app.showColorPicker()) gCalendar.params.Color1 = this.helpTip = app.foregroundColor.rgb.hexValue;
	}
	d.p1.g4.r0.onClick = function() {
		gCalendar.params.VerticalDirection = this.value;
	}
	d.p1.g4.r1.onClick = function() {
		gCalendar.params.VerticalDirection = !this.value;
	}
	d.p1.g5.s.onChange = function() {
		gCalendar.params.IncreaseBaseline = this.value;
		this.helpTip = (this.value > 0) ? "+" : "";
		this.helpTip += this.value.toString().replace(/\./g, ",");
	}
	d.defaultElement.onClick = function() {
		var m = parseInt(d.p0.g0.t0.text), y = parseInt(d.p0.g0.t1.text);
		gCalendar.params.FontSize = parseFloat(d.p1.g1.t.text.replace(/,/g, "."));
		if (!isNaN(m) && m > 0 && m < 13) n.setMonth(--m);
		else {
			d.p0.g0.t0.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		if (!isNaN(y) && y > 1900 && d.p0.g0.t1.text.length < 5) n.setFullYear(y);
		else {
			d.p0.g0.t1.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		if (isNaN(gCalendar.params.FontSize) || gCalendar.params.FontSize <= 0) {
			d.p1.g1.t.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		d.close(true); // return 1 if the changed values have been checked successfully
	}
	d.cancelElement.onClick = function() {
		d.close(false); // return 0
	}

	// function of processing of the document
	this.Make = function() {

		n.setDate(1);
		n.setHours(12);
		var x = n.getDay();
		if (x == 0) x = 7;

		var w = 0, h = 0, c = SolidColor;
		c.rgb.hexValue = this.params.Color0;

		var doc = app.documents.add((12 + this.params.IncreaseBaseline) * this.params.FontSize - this.params.FontSize / 2, (10 + this.params.IncreaseBaseline) * this.params.FontSize - this.params.FontSize / 2, 72, this.str.Title + "_" + (1+n.getMonth()) + "_" + n.getFullYear(), NewDocumentMode.RGB, DocumentFill.TRANSPARENT);

		var gr = [];
		gr[0] = doc.layerSets.add();
		gr[0].name = this.str.Title;
		gr[1] = gr[0].layerSets.add();
		gr[1].name = this.str.Dates;
		gr[2] = gr[0].layerSets.add();
		gr[2].name = this.str.DaysOfWeek;
		var l = doc.artLayers[0];
		l.isBackgroundLayer = false;
		l.move(gr[0], ElementPlacement.PLACEATBEGINNING);
		l.kind = LayerKind.TEXT;
		with (l.textItem) {
			contents = this.str.docLang[d.p0.g1.s.selection.index][1][n.getMonth()] + " " + n.getFullYear();
			position = [doc.width.value / 2, doc.height.value / 8 - doc.height.value / 32];
			justification = Justification.CENTER;
			font = this.params.FontName;
			size = this.params.FontSize * 1.25;
			antiAliasMethod = this.params.AntiAlias;
			color = c;
			fauxBold = true;
		}
		for (var i = 0; i < 7; i++) {
			w = (this.params.VerticalDirection) ? 0 : doc.width.value / 7 * i;
			h = (this.params.VerticalDirection) ? doc.height.value / 8 * (i + 2) : doc.height.value / 4;
			l = gr[2].artLayers.add();
			l.kind = LayerKind.TEXT;
			with (l.textItem) {
				contents = this.str.docLang[d.p0.g1.s.selection.index][2][i];
				position = [w + doc.width.value / 14, h - doc.height.value / 32];
				justification = Justification.CENTER;
				font = this.params.FontName;
				size = this.params.FontSize * 0.75;
				antiAliasMethod = this.params.AntiAlias;
				c.rgb.hexValue = (i > 4) ? this.params.Color1 : this.params.Color0;
				color = c;
			}
		}
		var p = 2;
		for (var i = 1; parseInt(d.p0.g0.t0.text) > n.getMonth(); i++) {
			w = (this.params.VerticalDirection) ? doc.width.value / 7 * (p - 1) : doc.width.value / 7 * (x + i - 2);
			h = (this.params.VerticalDirection) ? doc.height.value / 8 * (x + i) : doc.height.value / 8 * (p + 1);
			l = gr[1].artLayers.add();
			l.kind = LayerKind.TEXT;
			with (l.textItem) {
				contents = i;
				position = [w + doc.width.value / 14, h - doc.height.value / 32];
				justification = Justification.CENTER;
				font = this.params.FontName;
				size = this.params.FontSize;
				antiAliasMethod = this.params.AntiAlias;
				c.rgb.hexValue = (x + i > 6) ? this.params.Color1 : this.params.Color0;
				color = c;
			}
			if (x + i > 7) {
				++p;
				x -= 7;
			}
			n.setDate(1 + i);
		}

		doc.resizeCanvas(doc.width.value + this.params.FontSize, doc.height.value + this.params.FontSize, AnchorPosition.MIDDLECENTER);
		doc.activeLayer = gr[0];
	}
}

function NumericEditKeyboardHandler(event) { // keyboard event handler for a numeric input only
	try {
		var code = parseInt("0x" + event.keyIdentifier.substr(2));
		if (! (KeyIsNumeric(event, code) || KeyIsCommaOrPeriod(event, code) || KeyIsLRArrow(event) || KeyIsDelete(event) || KeyIsTabEnterEscape(event))) event.preventDefault();
	} catch(e) {}
}
function KeyHasModifier(event) {
	return event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
}
function KeyIsNumeric(event, code) {
	return code >= 48 && code <= 57 && !KeyHasModifier(event);
}
function KeyIsCommaOrPeriod(event, code) {
	return (code == 44 || code == 46) && !KeyHasModifier(event) && event.target.fractionalOpportunity && event.target.text.indexOf(",") == -1 && event.target.text.indexOf(".") == -1;
}
function KeyIsLRArrow(event) {
	return (event.keyName == "Left" || event.keyName == "Right") && ! (event.altKey || event.metaKey);
}
function KeyIsDelete(event) {
	return (event.keyName == "Backspace" || event.keyName == "Delete") && !event.ctrlKey;
}
function KeyIsTabEnterEscape(event) {
	return event.keyName == "Tab" || event.keyName == "Enter" || event.keyName == "Escape";
}

try {
	// keep the some preferences
	uUnits = app.preferences.rulerUnits;
	uTypeUnits = app.preferences.typeUnits;
	uForegroundColor = app.foregroundColor.rgb.hexValue;
	uDialogMode = app.displayDialogs;
	app.displayDialogs = DialogModes.NO;

	// create global object
	gCalendar = new Calendar();
	if (gCalendar.dlgMain.show() == 1) {
		gCalendar.Make();
		app.bringToFront();
	}

	// set the kept preferences
	app.preferences.rulerUnits = uUnits;
	app.preferences.typeUnits = uTypeUnits;
	app.foregroundColor.rgb.hexValue = uForegroundColor;
	app.displayDialogs = uDialogMode;
} catch(e) {}
  Ответить с цитированием

Старый 01.03.2012, 16:51   #5
красафчег
 
Аватар для tarantul
 
tarantul вне форума

Регистрация: 18.10.2011
Адрес: Ишим
Сообщений: 182
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 2 сообщениях
tarantul на пути к лучшему
По умолчанию

Вот мне интересно, эти коды пишутся от руки,ну тоесть пеатаються? или какойто шаблон. Если например одну буквук пропустить или знак. Давно хотел унать как делаюттся такие коды
  Ответить с цитированием

Старый 01.03.2012, 17:09   #6
ктулху (великий и ужасный)
 
Аватар для AIshobotom
 
AIshobotom вне форума

Регистрация: 20.04.2010
Сообщений: 3,915
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
AIshobotom на пути к лучшему
По умолчанию

есть иде с фотошопом в комплекте, оно же и дебаггер. мне неудобняк в нём, поэтому я в блокноте писал
  Ответить с цитированием

Старый 01.03.2012, 17:16   #7
красафчег
 
Аватар для tarantul
 
tarantul вне форума

Регистрация: 18.10.2011
Адрес: Ишим
Сообщений: 182
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 2 сообщениях
tarantul на пути к лучшему
По умолчанию

AIshobotom,ну ты это сам печатаешь. кждую букву и символ?
  Ответить с цитированием

Старый 01.03.2012, 17:21   #8
ктулху (великий и ужасный)
 
Аватар для AIshobotom
 
AIshobotom вне форума

Регистрация: 20.04.2010
Сообщений: 3,915
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
AIshobotom на пути к лучшему
По умолчанию

каждую каждую, одним пальцем))
  Ответить с цитированием

Старый 01.03.2012, 17:34   #9
красафчег
 
Аватар для tarantul
 
tarantul вне форума

Регистрация: 18.10.2011
Адрес: Ишим
Сообщений: 182
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 2 раз(а) в 2 сообщениях
tarantul на пути к лучшему
По умолчанию

AIshobotom,А ты клиент флеш иргы можешь распаковать и чит какойнибудь зафигарить?)))
  Ответить с цитированием

Старый 08.02.2013, 12:05   #10
ктулху (великий и ужасный)
 
Аватар для AIshobotom
 
AIshobotom вне форума

Регистрация: 20.04.2010
Сообщений: 3,915
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
Сказал(а) спасибо: 182
Поблагодарили 166 раз(а) в 140 сообщениях
AIshobotom на пути к лучшему
По умолчанию

tarantul, неа) По честнаку давай)

Дело было вечером, делать было нечего)
Исправил кое-какие косяки. Правда ещё остались. Нихрена не оптимизировал, зато понятней читается и правится. Добавил автосохранение в файл последних использованных параметров шрифта (в винде "%appdata%\Adobe\Adobe Photoshop CS* Settings\script_params_calendar.txt"). ИМХО так удобней когда календарик на год делаешь не за раз, но в одном стиле.


Код:
/*
Script generates a calendar for any month.
Created by AIshobotom, 2012
Modified by AIshobotom, 2013
[Ссылки могут видеть только зарегистрированные пользователи. ]
*/


#target photoshop

function Calendar() {

	var n = new Date();

	// script version
	this.Version = "3.0";

	// initial values of the font
	this.params = new Object();
	this.paramsFile = new File(app.preferencesFolder + "/script_params_calendar.txt");
	this.LoadParams = function() {
		var z = true;
		if (this.paramsFile.open("r")) {
			while (!this.paramsFile.eof) {
				var c = "", p = "", v = "";
				while (c != "=" && !this.paramsFile.eof) {
					c = this.paramsFile.read(1);
					if (c != "=") p += c;
				}
				while (c != "\n" && !this.paramsFile.eof) {
					c = this.paramsFile.read(1);
					if (c != "\n") v += c;
				}
				if (p == "Version") {
					if (v != this.Version || v == "undefined") {
						this.paramsFile.close();
						this.paramsFile.remove();
						z = false;
						break;
					}
				} else {
					if (v == "null") v = null;
					else if (v == "true") v = true;
					else if (v == "false") v = false;
					this.params[p] = v;
				}
			}
			this.paramsFile.close();
		} else z = false;
		return z;
	}
	if (!this.paramsFile.exists || !this.LoadParams()) {
		this.params = { // as to default
			FontName: "TimesNewRomanPSMT",
			FontSize: 50,
			AntiAlias: "AntiAlias.CRISP",
			Color0: "000000",
			Color1: "FF0000",
			VerticalDirection: true,
			IncreaseIndent: 1.5
		}
	}

	// all strings which are used in GUI and the document
	switch (app.locale.substr(0, 2)) {
		case "ru":
			this.str = {
				Title: "Календарь",
				Date: "Дата",
				Month: "Месяц(&M)",
				Year: "Год(&Y)",
				Parameters: "Параметры",
				FontName: "Шрифт(&F)",
				FontSize: "Размер шрифта(&S)",
				AntiAliasing: "Сглаживание(&A)",
				None: "Нет",
				Sharp: "Острее",
				Crisp: "Чётче",
				Strong: "Сильнее",
				Smooth: "Глаже",
				Color: "Цвет",
				Color0: "Будней(&W)",
				Color1: "Выходных(&D)",
				Vertical: "Вертикально(&V)",
				Horizontal: "Горизонтально(&H)",
				Indent: "Отступ(&I)",
				Language: "Язык(&L)",
				Ok: "OK",
				Cancel: "Отмена",
				Pixels: "пикселей",
				Points: "точек",
				MM: "мм.",
				IncorrectValue: "Неправильное значение",
				DaysOfWeek: "Дни недели",
				Dates: "Числа"
			}
			break;
		default:
			this.str = {
				Title: "Calendar",
				Date: "Date",
				Month: "&Month",
				Year: "&Year",
				Parameters: "Parameters",
				FontName: "&Font",
				FontSize: "Font &size",
				AntiAliasing: "&Antialiasing method",
				None: "None",
				Sharp: "Sharp",
				Crisp: "Crisp",
				Strong: "Strong",
				Smooth: "Smooth",
				Color: "Color",
				Color0: "&Work days",
				Color1: "Holi&days",
				Vertical: "&Vertical",
				Horizontal: "&Horizontal",
				Indent: "&Indent",
				Language: "&Language",
				Ok: "OK",
				Cancel: "Cancel",
				Pixels: "pixels",
				Points: "points",
				MM: "mm.",
				IncorrectValue: "Incorrect Value",
				DaysOfWeek: "Days of a week",
				Dates: "Dates"
			}
	}

	// strings which are contents of the document
	this.str.docLang = [
		["русский",
			["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"],
			["пн", "вт", "ср", "чт", "пт", "сб", "вс"]
		],
		["english",
			["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
			["mo", "tu", "we", "th", "fr", "sa", "su"]
		],
		["deutsch",
			["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "October", "November", "Dezember"],
			["mo", "di", "mi", "do", "fr", "sa", "so"]
		],
		["française",
			["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"],
			["lu", "ma", "me", "je", "ve", "sa", "di"]
		],
		["el español",
			["Enero de", "Febrero de", "Marzo de", "Abril de", "Mayo de", "Junio de", "Julio de", "Agosto de", "Septiembre de", "Octubre de", "Noviembre de", "Diciembre de"],
			["lu", "ma", "mi", "ju", "vi", "sá", "do"]
		],
		["italiano",
			["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"],
			["lu", "ma", "me", "gi", "ve", "sa", "do"]
		]
	].sort();

	// set units of measure
	switch (app.preferences.typeUnits) {
		case TypeUnits.MM: app.preferences.rulerUnits = Units.MM; var u = this.str.MM; break;
		case TypeUnits.POINTS: app.preferences.rulerUnits = Units.POINTS; var u = this.str.Points; break;
		default: app.preferences.rulerUnits = Units.PIXELS; var u = this.str.Pixels;
	}

	// create a script UI with placed parameters values
	this.dlgMain = new Window("dialog { \
		orientation: 'column', alignChildren: 'fill', \
 		p0: Panel { margins: [10, 15, 10, 10], alignChildren: 'right', text: '" + this.str.Date + "', \
			g0: Group { orientation: 'row', spacing: 5, \
				l0: StaticText { text: '" + this.str.Month + ":' } \
				t0: EditText { preferredSize: [45, 20], text: '" + (1+n.getMonth()) + "' } \
				l1: StaticText { text: ' " + this.str.Year + ":' } \
				t1: EditText { preferredSize: [45, 20], text: '" + n.getFullYear() + "' } } \
			g1: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.Language + ":' } \
				s: DropDownList { preferredSize: [80, 22] } } } \
		p1: Panel { margins: [10, 15, 10, 10], alignChildren: 'right', text: '" + this.str.Parameters + "', \
			g0: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.FontName + ":' } \
				s: DropDownList { preferredSize: [165, 22] } } \
			g1: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.FontSize + ":' } \
				t: EditText { preferredSize: [40, 20], fractionalOpportunity: true, text: '" + this.params.FontSize.toString().replace(/\./g, ',') + "' } \
				u: StaticText { text: '" + u + "' } } \
			g2: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.AntiAliasing + ":' } \
				s: DropDownList { preferredSize: [80, 22] } } \
			g3: Group { orientation: 'row', spacing: 5,\
				l: StaticText { text: '" + this.str.Color + ":' } \
				b0: Button { preferredSize: [80, 22], text: '" + this.str.Color0 + "', helpTip: '" + this.params.Color0 + "' } \
				b1: Button { preferredSize: [80, 22], text: '" + this.str.Color1 + "', helpTip: '" + this.params.Color1 + "' } } \
			g4: Group { orientation: 'row', spacing: 5, \
				r0: RadioButton { value: " + this.params.VerticalDirection + ", text: '" + this.str.Vertical + "' } \
				r1: RadioButton { value: " + !this.params.VerticalDirection + ", text: '" + this.str.Horizontal + "' } } \
			g5: Group { orientation: 'row', spacing: 5, \
				l: StaticText { text: '" + this.str.Indent + ":' } \
				s: Slider { value: " + this.params.IncreaseIndent + ", minvalue: 0.5, maxvalue: 10 } \
				t: EditText { preferredSize: [113, 20], fractionalOpportunity: true, text: '" + this.params.IncreaseIndent.toString().replace(/\./g, ',') + "' } } } \
		btns: Group { alignment: 'right', margins: [0, 10, 0, 0] } \
	}", this.str.Title);

	var d = this.dlgMain;

	for (var i = 0; i < this.str.docLang.length; i++) {
		d.p0.g1.s.add("item", this.str.docLang[i][0]);
		if (this.str.docLang[i][0] == "русский") d.p0.g1.s.selection = i;
	}
	if (d.p0.g1.s.selection == null) d.p0.g1.s.selection = 0;

	// update font list
	app.refreshFonts();

	for (var i = 0; i < app.fonts.length; i++) {
		d.p1.g0.s.add("item", app.fonts[i].name);
		if (app.fonts[i].postScriptName == this.params.FontName) d.p1.g0.s.selection = i;
	}
	if (d.p1.g0.s.selection == null) d.p1.g0.s.selection = 0;
	this.params.FontName = app.fonts[d.p1.g0.s.selection.index].postScriptName;

	d.p1.g2.s.add("item", this.str.None);
	d.p1.g2.s.add("item", this.str.Sharp);
	d.p1.g2.s.add("item", this.str.Crisp);
	d.p1.g2.s.add("item", this.str.Strong);
	d.p1.g2.s.add("item", this.str.Smooth);
	switch (this.params.AntiAlias) {
		case "AntiAlias.NONE": d.p1.g2.s.selection = 0; this.params.AntiAlias = AntiAlias.NONE; break;
		case "AntiAlias.SHARP": d.p1.g2.s.selection = 1; this.params.AntiAlias = AntiAlias.SHARP; break;
		case "AntiAlias.CRISP": d.p1.g2.s.selection = 2; this.params.AntiAlias = AntiAlias.CRISP; break;
		case "AntiAlias.STRONG": d.p1.g2.s.selection = 3; this.params.AntiAlias = AntiAlias.STRONG; break;
		case "AntiAlias.SMOOTH": d.p1.g2.s.selection = 4; this.params.AntiAlias = AntiAlias.SMOOTH; break;
	}

	d.p1.g5.s.preferredSize.width = 40;
	d.p1.g5.s.helpTip = (d.p1.g5.s.value < 0) ? "-" : "";
	d.p1.g5.s.helpTip += d.p1.g5.s.value.toString().replace(/\./g, ",");

	d.defaultElement = d.btns.add("button", undefined, this.str.Ok);
	d.cancelElement = d.btns.add("button", undefined, this.str.Cancel);

	d.graphics.backgroundColor = d.graphics.newBrush(d.graphics.BrushType.THEME_COLOR, "appDialogBackground");

	// descriptions of the event handlers
	d.p0.g0.t0.addEventListener("keydown", NumericEditKeyboardHandler);
	d.p0.g0.t1.addEventListener("keydown", NumericEditKeyboardHandler);
	d.p1.g1.t.addEventListener("keydown", NumericEditKeyboardHandler);
	d.p1.g5.t.addEventListener("keydown", NumericEditKeyboardHandler);

	d.p1.g0.s.onChange = function() {
		gCalendar.params.FontName = app.fonts[this.selection.index].postScriptName;
	}
	d.p1.g2.s.onChange = function() {
		switch (this.selection.index) {
			case 0: gCalendar.params.AntiAlias = AntiAlias.NONE; break;
			case 1: gCalendar.params.AntiAlias = AntiAlias.SHARP; break;
			case 2: gCalendar.params.AntiAlias = AntiAlias.CRISP; break;
			case 3: gCalendar.params.AntiAlias = AntiAlias.STRONG; break;
			case 4: gCalendar.params.AntiAlias = AntiAlias.SMOOTH; break;
		}
	}
	d.p1.g3.b0.onClick = function() {
		app.foregroundColor.rgb.hexValue = gCalendar.params.Color0;
		if (app.showColorPicker()) gCalendar.params.Color0 = this.helpTip = app.foregroundColor.rgb.hexValue;
	}
	d.p1.g3.b1.onClick = function() {
		app.foregroundColor.rgb.hexValue = gCalendar.params.Color1;
		if (app.showColorPicker()) gCalendar.params.Color1 = this.helpTip = app.foregroundColor.rgb.hexValue;
	}
	d.p1.g4.r0.onClick = function() {
		gCalendar.params.VerticalDirection = true;
	}
	d.p1.g4.r1.onClick = function() {
		gCalendar.params.VerticalDirection = false;
	}
	d.p1.g5.s.onChange = function() {
		var t = this.value.toString().replace(/\./g, ",");
		this.helpTip = (this.value < 0) ? "-" : "";
		this.helpTip += t;
		this.parent.t.text = t;
		gCalendar.params.IncreaseIndent = this.value;
	}
	d.p1.g5.t.onChange = function() {
		var t = parseFloat(this.text.replace(/\,/g, "."));
		if (isNaN(t) || t < this.parent.s.minvalue || t > this.parent.s.maxvalue) {
			d.p1.g5.s.value = t;
			this.parent.s.helpTip = (t < 0) ? "-" : "";
			this.parent.s.helpTip += this.text;
			gCalendar.params.IncreaseIndent = this.parent.s.value;
		}
	}
	d.defaultElement.onClick = function() {
		var m = parseInt(d.p0.g0.t0.text), y = parseInt(d.p0.g0.t1.text);
		gCalendar.params.FontSize = parseFloat(d.p1.g1.t.text.replace(/,/g, "."));
		gCalendar.params.IncreaseIndent = parseFloat(d.p1.g5.t.text.replace(/,/g, "."));
		if (!isNaN(m) && m > 0 && m < 13) n.setMonth(--m);
		else {
			d.p0.g0.t0.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		if (!isNaN(y) && y > 1900 && d.p0.g0.t1.text.length < 5) n.setFullYear(y);
		else {
			d.p0.g0.t1.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		if (isNaN(gCalendar.params.FontSize) || gCalendar.params.FontSize <= 0) {
			d.p1.g1.t.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		if (isNaN(gCalendar.params.IncreaseIndent) || gCalendar.params.IncreaseIndent < d.p1.g5.s.minvalue || gCalendar.params.IncreaseIndent > d.p1.g5.s.maxvalue) {
			d.p1.g5.t.active = true;
			alert(gCalendar.str.IncorrectValue + ".");
			return;
		}
		d.close(true); // return 1 if changed values have been checked successfully
	}
	d.cancelElement.onClick = function() {
		d.close(false); // return 0
	}

	// function of processing of the document
	this.Make = function() {

		n.setDate(1);
		n.setHours(12);
		var x = n.getDay();
		if (x == 0) x = 7;

		var w = 0, h = 0, c = SolidColor;
		c.rgb.hexValue = this.params.Color0;

		var doc = app.documents.add(8 * this.params.IncreaseIndent * this.params.FontSize, 8 * this.params.IncreaseIndent * this.params.FontSize, 72, this.str.Title + "_" + (1+n.getMonth()) + "_" + n.getFullYear(), NewDocumentMode.RGB, DocumentFill.TRANSPARENT);

		var gr = [];
		gr[0] = doc.layerSets.add();
		gr[0].name = this.str.Title;
		gr[1] = gr[0].layerSets.add();
		gr[1].name = this.str.Dates;
		gr[2] = gr[0].layerSets.add();
		gr[2].name = this.str.DaysOfWeek;
		var l = doc.artLayers[0];
		l.isBackgroundLayer = false;
		l.move(gr[0], ElementPlacement.PLACEATBEGINNING);
		l.kind = LayerKind.TEXT;
		with (l.textItem) {
			position = [doc.width.value / 2, doc.height.value / 8 - doc.height.value / 32];
			justification = Justification.CENTER;
			font = this.params.FontName;
			size = this.params.FontSize * 1.25;
			antiAliasMethod = this.params.AntiAlias;
			color = c;
			fauxBold = true;
			contents = this.str.docLang[d.p0.g1.s.selection.index][1][n.getMonth()] + " " + n.getFullYear();
		}
		for (var i = 0; i < 7; i++) {
			w = (this.params.VerticalDirection) ? 0 : doc.width.value / 7 * i;
			h = (this.params.VerticalDirection) ? doc.height.value / 8 * (i + 2) : doc.height.value / 4;
			l = gr[2].artLayers.add();
			l.kind = LayerKind.TEXT;
			with (l.textItem) {
				position = [w + doc.width.value / 14, h - doc.height.value / 32];
				justification = Justification.CENTER;
				font = this.params.FontName;
				size = this.params.FontSize * 0.75;
				antiAliasMethod = this.params.AntiAlias;
				c.rgb.hexValue = (i > 4) ? this.params.Color1 : this.params.Color0;
				color = c;
				contents = this.str.docLang[d.p0.g1.s.selection.index][2][i];
			}
		}
		for (var i = 1, p = 2; parseInt(d.p0.g0.t0.text) > n.getMonth(); i++) {
			w = (this.params.VerticalDirection) ? doc.width.value / 7 * (p - 1) : doc.width.value / 7 * (x + i - 2);
			h = (this.params.VerticalDirection) ? doc.height.value / 8 * (x + i) : doc.height.value / 8 * (p + 1);
			l = gr[1].artLayers.add();
			l.kind = LayerKind.TEXT;
			with (l.textItem) {
				position = [w + doc.width.value / 14, h - doc.height.value / 32];
				justification = Justification.CENTER;
				font = this.params.FontName;
				size = this.params.FontSize;
				antiAliasMethod = this.params.AntiAlias;
				c.rgb.hexValue = (x + i > 6) ? this.params.Color1 : this.params.Color0;
				color = c;
				contents = i;
			}
			if (x + i > 7) {
				++p;
				x -= 7;
			}
			n.setDate(1 + i);
		}

		doc.resizeCanvas(doc.width.value + this.params.FontSize, doc.height.value + this.params.FontSize, AnchorPosition.MIDDLECENTER);
		doc.activeLayer = gr[0];

		// save parameters in the file
		if (!this.paramsFile.readonly) {
			this.paramsFile.encoding = "UTF8";
			if (this.paramsFile.open("w", "TEXT", "????")) {
				this.paramsFile.write("\uFEFF");
				this.paramsFile.writeln("Version=" + this.Version);
				for (var p in this.params) this.paramsFile.writeln(p + "=" + this.params[p]);
				this.paramsFile.close();
			}
		}

	}

}

function NumericEditKeyboardHandler(event) { // keyboard event handler for a numeric input only
	try {
		var code = parseInt("0x" + event.keyIdentifier.substr(2));
		if (! (KeyIsNumeric(event, code) || KeyIsCommaOrPeriod(event, code) || KeyIsLRArrow(event) || KeyIsDelete(event) || KeyIsTabEnterEscape(event))) event.preventDefault();
	} catch(e) {}
}
function KeyHasModifier(event) {
	return event.shiftKey || event.ctrlKey || event.altKey || event.metaKey;
}
function KeyIsNumeric(event, code) {
	return code >= 48 && code <= 57 && !KeyHasModifier(event);
}
function KeyIsCommaOrPeriod(event, code) {
	return (code == 44 || code == 46) && !KeyHasModifier(event) && event.target.fractionalOpportunity && event.target.text.indexOf(",") == -1 && event.target.text.indexOf(".") == -1;
}
function KeyIsLRArrow(event) {
	return (event.keyName == "Left" || event.keyName == "Right") && ! (event.altKey || event.metaKey);
}
function KeyIsDelete(event) {
	return (event.keyName == "Backspace" || event.keyName == "Delete") && !event.ctrlKey;
}
function KeyIsTabEnterEscape(event) {
	return event.keyName == "Tab" || event.keyName == "Enter" || event.keyName == "Escape";
}

try {
	// keep a some preferences
	uDialogMode = app.displayDialogs;
	app.displayDialogs = DialogModes.NO;
	uUnits = app.preferences.rulerUnits;
	uForegroundColor = app.foregroundColor.rgb.hexValue;

	// create global object
	gCalendar = new Calendar();
	if (gCalendar.dlgMain.show() == 1) {
		gCalendar.Make();
		app.bringToFront();
	}

	// set the kept preferences
	app.preferences.rulerUnits = uUnits;
	app.foregroundColor.rgb.hexValue = uForegroundColor;
	app.displayDialogs = uDialogMode;

	// cleaned from objects
	gCalendar = null;
	uDialogMode = null;
	uUnits = null;
	uForegroundColor = null;

} catch(e) {}


У кого есть идеи чё в фотошопе можно JSом автоматизировать - велкам в ЛС. Приветствую только те идеи, которые нельзя быстро воплотить в жысть обычными инструментами.
  Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.




Текущее время: 13:05. Часовой пояс GMT +6.



vBulletin skin developed by: eXtremepixels
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, vBulletin Solutions, Inc. Перевод:
Search Engine Friendly URLs by vBSEO 3.6.0zCarot
| Home | Справка | Пользователи | Календарь | Сообщения за день | Поиск | Новые сообщения |