• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs April 2024.
    Thema: "Sprichwörtlich"

    Nur noch bis zum 30.04.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
WERBUNG

Projekt Baustelle - wir lernen Fotoillustration

AW: Projekt Baustelle

Ich habs auch nochmal versucht. Aber irgendwie habe ich gar kein Auge mehr dafür, ob ich mich verbessere oder nicht....

verzweifelte Grüße
Alex
 
AW: Projekt Baustelle

Für alle von euch die von meinen Bildern noch nicht die Nase voll haben:

http://www.flickr.com/photo_zoom.gne?id=2202599374&size=o&context=set-72157603454033464

Also, ran an den Speck.

Gruss,

Udo
:) :) Am 25. 10. 2007 um 19:50 machte mich im Dforum die Frage, wie das denn wohl zu schaffen sei, verbunden mit einem Link auf genau dieses Bild bei der FC, auf Dich und den Illustil aufmerksam - nach langem Suchen stieß ich dann endlich auf diesen irren Thread.
Hier ist mein Versuch - sicherlich noch viel zu brav, aber technisch doch wieder ein wenig besser, oder?
 
AW: Projekt Baustelle

Hey,

wenn ich jetzt meine Version mit der von Reiner vergleiche, scheint es jetzt doch besser geworden zu sein bei mir (ausser am Himmel). Jedoch vermisse ich jetz diese malerische Zeichnung im Holz. Wie bekomme ich die nun rein?

Bitte nicht hauen :)

Grüße
Alex
 
AW: Projekt Baustelle

Reiner hasst du da zuviel am Rotkanal gedreht??
 
AW: Projekt Baustelle

Hallo Zusammen,

hier ist dann auch noch meine Version. Ich glaub' ich seh schon total krumm. :ugly:
So, ich geh' jetzt ins Bett. Nachtilein.

Liebe Grüße,
Richard
 
AW: Projekt Baustelle

Hallo ihr lieben, ich habe nochmal mein Script zur Vermeidung des störenden Gitters beim Korneffekt überarbeitet. Es läuft jetzt etwas schneller durch, zeigt den aktuellen Fortschritt an und kann jederzeit abgebrochen werden. Ich empfehle das Script für die finale Bearbeitung, zum üben und erarbeitet von Techniken ist es noch zu zeitintensiv. Untenstehen Tabelle zeigt was meine lahme Kiste noch bringt (Ultraalt-Singel-Core Pentium 3,4 mit 2GB RAM):

Korneffekt-anisotrop-Benchmark :)
Code:
Bildgröße | Karos | Zeit_PSmax | Zeit_PSmin
--------------------------------------------
 666x1000 |    70 |	 1m13s |        16s
1000x1500 |   140 |      2m40s |        31s
2000x3000 |   532 |     13m37s |      2m00s
4000x6000 |  2035 |            |      8m59s
Karos sind die Kleines Stückchen in die das Bild zerlegt wird, Zeit_PSmax ist die benötigte Zeit wenn Photoshop normal maximiert am Bildschirm präsent ist, Teit_PSmin das äquivalent dazu wenn Photoshop in die Tastkleiste minimiert wird bevor das Script im ExtendScript Toolkit ausgeführt wird.
Untere letzterer Bedingung läuft das Script also deutlich schneller ab, wie man sehen kann.

Code:
[SIZE="1"][COLOR="Green"]/*	
	Version	: 	3.0.2 (19.01.2008)
	Autor	:	mariane 
	Kontakt	:	www.dslr-forum.de/member.php?u=17936
	
	Dieses  Script  kopiert  auf  eine  Ebene  reduziert und wendet
	dann den Kornfilter (im Modus anisotrop) an. Unter normalen
	Umständen  entsteht  ein  störendes  Gitter   beim   Korneffekt;
	dieses Script verhindert dies.

	Das Script sollte im ExtendScript Toolkit geöffnet und von dort 
	aus gestartet  werden  nachdem  zuvor  Photoshop  minimiert 
	wurde.  Eine  Akualisierung  von  Histogramm-,  Paletten- und 
	Bildschirmaktuallisierung  wird  dadurch  vermieden  und das   
	Script wird um den Faktor 5 schneller abgearbeitet.
*/[/COLOR]
[COLOR="Olive"]#target photoshop[/COLOR]
[COLOR="Blue"]if [/COLOR]( !app.documents.length > 0 ) {
	app.bringToFront();
	alert( [COLOR="DarkRed"]"Kein Bild geöffnet!"[/COLOR] );
}[COLOR="Blue"]else[/COLOR]{
	[COLOR="Green"]//--- Initialisieren -------------------------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]startRulerUnits = app.preferences.rulerUnits;
	[COLOR="Blue"]var [/COLOR]startTypeUnits = app.preferences.typeUnits;
	[COLOR="Blue"]var [/COLOR]startDisplayDialogs = app.displayDialogs;
	app.preferences.rulerUnits = Units.PIXELS;
	app.preferences.typeUnits = TypeUnits.PIXELS;
	app.displayDialogs = DialogModes.NO;
	[COLOR="Green"]//--- Dokument  ---------------------------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]docRef0 = app.activeDocument;
	[COLOR="Blue"]var [/COLOR]docBreite = docRef0.width;
	[COLOR="Blue"]var [/COLOR]docHoehe = docRef0.height;

	[COLOR="Green"]//--- Ebene erstellen --------------------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]layer0=docRef0.artLayers.add();
	layer0.name=[COLOR="DarkRed"]"Korneffekt"[/COLOR];
	[COLOR="Green"]//--- auf eine Ebene reduziert kopieren --------------------------------[/COLOR]
	docRef0.selection.selectAll();
	docRef0.selection.copy( [COLOR="Blue"]true [/COLOR]);
	[COLOR="Green"]//--- neues Dokument erstellen ------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]karo = 150;
	[COLOR="Blue"]var [/COLOR]cute = 20;
	[COLOR="Blue"]var [/COLOR]breite = docBreite + 2*cute;
	[COLOR="Blue"]var [/COLOR]hoehe = docHoehe + 2*cute;
	[COLOR="Blue"]var [/COLOR]docRef1 = app.documents.add( docBreite, docHoehe, docRef0.resolution, [COLOR="DarkRed"]"Temp"[/COLOR] );
	[COLOR="Green"]//--- einfügen und auf eine Ebene reduzieren -----------------------
	[/COLOR]docRef1.paste();
	docRef1.flatten();
	[COLOR="Green"]//--- Arbeitsfläche erweitern -----------------------------------------------[/COLOR]
	docRef1.resizeCanvas(breite, hoehe, AnchorPosition.MIDDLECENTER );
	docRef1.resizeCanvas( breite+karo, hoehe+karo, AnchorPosition.TOPLEFT );
	[COLOR="Green"]//--- 2 neue Ebenen ---------------------------------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]layer2=docRef1.artLayers.add();
	[COLOR="Blue"]var [/COLOR]layer3=docRef1.artLayers.add();
	[COLOR="Green"]//--- history bereinigen initiallisieren ------------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]history_par = [COLOR="Blue"]new [/COLOR]ActionDescriptor();
	[COLOR="Blue"]var [/COLOR]history_ref = [COLOR="Blue"]new [/COLOR]ActionReference();
	[COLOR="Blue"]var [/COLOR]history_clear = stringIDToTypeID( [COLOR="DarkRed"]"clearEvent"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par1 = stringIDToTypeID( [COLOR="DarkRed"]"null"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par2 = stringIDToTypeID( [COLOR="DarkRed"]"property"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par3 = stringIDToTypeID( [COLOR="DarkRed"]"historyStates"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par4 = stringIDToTypeID([COLOR="DarkRed"] "document" [/COLOR]);
	[COLOR="Blue"]var [/COLOR]par5 = stringIDToTypeID( [COLOR="DarkRed"]"ordinal" [/COLOR]);
	[COLOR="Blue"]var [/COLOR]par6 = stringIDToTypeID( [COLOR="DarkRed"]"targetEnum"[/COLOR] );
	history_ref.putProperty( par2, par3 );
	history_ref.putEnumerated( par4, par5, par6 );
	history_par.putReference( par1, history_ref );
	[COLOR="Blue"]var [/COLOR]clear_history = [COLOR="Blue"]function[/COLOR](){
		executeAction( history_clear, history_par, DialogModes.NO );
	} [COLOR="Green"]// end function
	//--- Kornfilter anisotrop initiallisieren ----------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]parameter = [COLOR="Blue"]new [/COLOR]ActionDescriptor();
	[COLOR="Blue"]var [/COLOR]diffuse = stringIDToTypeID( [COLOR="DarkRed"]"diffuse"[/COLOR] );
	par1 = stringIDToTypeID( [COLOR="DarkRed"]"mode"[/COLOR] );
	par2 = stringIDToTypeID( [COLOR="DarkRed"]"diffuseMode"[/COLOR] );
	par3 = stringIDToTypeID( [COLOR="DarkRed"]"anisotropic"[/COLOR] );
	parameter.putEnumerated( par1, par2, par3 );
	[COLOR="Blue"]var [/COLOR]Kornfilter = [COLOR="Blue"]function[/COLOR](){
		executeAction( diffuse, parameter, DialogModes.NO );
	} [COLOR="Green"]// end function
	//--- Fortschrittsbalken initialisieren -------------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]i =0;
	[COLOR="Blue"]var [/COLOR]time = 0;
	[COLOR="Blue"]var [/COLOR]minute;
	[COLOR="Blue"]var [/COLOR]sekunde;
	[COLOR="Blue"]var [/COLOR]max = Math.ceil(hoehe/(karo-cute*2))*[COLOR="DarkRed"]Math[/COLOR].ceil(breite/(karo-cute*2));
	[COLOR="Blue"]var [/COLOR]progressWindow = createProgressWindow([COLOR="DarkRed"]" bitte warten..."[/COLOR], 0, max, [COLOR="Blue"]true[/COLOR]);
	progressWindow.isDone = [COLOR="Blue"]false[/COLOR];
	progressWindow.onCancel = [COLOR="Blue"]function[/COLOR]() {
		[COLOR="Blue"]this[/COLOR].isDone = [COLOR="Blue"]true[/COLOR];
		[COLOR="Blue"]return [/COLOR][COLOR="Blue"]true[/COLOR]; [COLOR="Green"] // return 'true' to close the window[/COLOR]
	} [COLOR="Green"]// end function[/COLOR]
	[COLOR="Blue"]var [/COLOR]Bar = [COLOR="Blue"]function[/COLOR]( var1, var2 ){
				minute = [COLOR="DarkRed"]Math[/COLOR].floor(var1/var2*(max-var2)/60);
				sekunde = [COLOR="DarkRed"]Math[/COLOR].floor(var1/var2*(max-var2))-minute*60
				[COLOR="Blue"]if[/COLOR](sekunde==60){
					sekunde=[COLOR="DarkRed"]"00"[/COLOR];
					minute++;
				}[COLOR="Blue"]else[/COLOR]{
					[COLOR="Blue"]if[/COLOR](sekunde<10){
						sekunde=[COLOR="DarkRed"]"0"[/COLOR] + sekunde;
					} [COLOR="Green"]// end if[/COLOR]
				} [COLOR="Green"]// end if[/COLOR]
				progressWindow.text = ([COLOR="DarkRed"]" bitte warten... "[/COLOR] + minute + [COLOR="DarkRed"]"min "[/COLOR] + sekunde + [COLOR="DarkRed"]"s       Ø="[/COLOR] + ( var1/var2+ [COLOR="DarkRed"]"000"[/COLOR] ).toString().substr(0, 5)  +[COLOR="DarkRed"]"s  noch "[/COLOR] + (max-var2) + [COLOR="DarkRed"]" von "[/COLOR] + max);
	} [COLOR="Green"]// end function[/COLOR]
	[COLOR="Blue"]try [/COLOR]{
		[COLOR="Green"]//--- hier gehts rechenintensiv los -----------------------------------
		[/COLOR][COLOR="Blue"]for [/COLOR]( [COLOR="Blue"]var [/COLOR]yi=0; yi < hoehe; yi+=karo-cute*2 ){
			[COLOR="Blue"]for [/COLOR]( [COLOR="Blue"]var [/COLOR]xi=0; xi < breite; xi+=karo-cute*2 ){
				[COLOR="Blue"]var [/COLOR]t1 = [COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Date[/COLOR]();
				if (progressWindow.isDone) {
					[COLOR="Blue"]break[/COLOR];
				} [COLOR="Green"]// end if[/COLOR]
				progressWindow.updateProgress(i); 
				[COLOR="Blue"]var [/COLOR]HistoryState = docRef1.activeHistoryState;
				[COLOR="Green"]//--- karo auswählen und kopieren -------------------------				
				[/COLOR]activeDocument.crop(
						[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( xi, yi, xi+karo, yi+karo ) );
				[COLOR="Green"]//--- Filter anwenden --------------------------------------------
				[/COLOR]docRef1.flatten();
				Kornfilter();
				[COLOR="Green"]//--- mit verkleinerte Auswahl kopieren --------------------
				[/COLOR]docRef1.selection.select(
						Auswahl( cute, cute, karo-cute, karo-cute ),
						SelectionType.REPLACE );		
				docRef1.selection.copy();
				[COLOR="Green"]//--- Protokol vor "karo auswählen" setzen ----------------[/COLOR]
				docRef1.activeHistoryState=HistoryState;
				[COLOR="Green"]//--- in verkleinerter Auswahl einfügen ---------------------[/COLOR]
				docRef1.selection.select(
						Auswahl( xi+cute, yi+cute, xi-cute+karo, yi-cute+karo ),
						SelectionType.REPLACE );			
				layer2.visible=[COLOR="Blue"]true[/COLOR];
				docRef1.paste();
				docRef1.activeLayer.merge();[COLOR="Green"] // Ebene reduzieren[/COLOR]
				layer2.visible=[COLOR="Blue"]false[/COLOR];
				clear_history();
				[COLOR="Green"]//---[/COLOR]
				i++;
				time += ([COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Date[/COLOR]()-t1)/1000;
				Bar( time, i );
			} [COLOR="Green"]// end for[/COLOR]
		} [COLOR="Green"]// end for[/COLOR]
	} [COLOR="Blue"]catch [/COLOR](e) {
		alert(e);
	} [COLOR="Blue"]finally [/COLOR]{
		progressWindow.close();
	} [COLOR="Green"]// end try[/COLOR]
	layer2.visible=[COLOR="Blue"]true[/COLOR];
	[COLOR="Green"]//--- ursprüngliche Dokumentgröße wiederherstellen -------------
	[/COLOR]docRef1.resizeCanvas( breite, hoehe, AnchorPosition.TOPLEFT );
	docRef1.resizeCanvas( docBreite, docHoehe, AnchorPosition.MIDDLECENTER );
	[COLOR="Green"]//--- kopieren, Temp-Dokument schließen ---------------------------
	[/COLOR]docRef1.flatten();
	docRef1.selection.selectAll();
	docRef1.selection.copy();
	docRef1.close( SaveOptions.DONOTSAVECHANGES );
	[COLOR="Green"]//--- Ergebnis einfügen -----------------------------------------------------
	[/COLOR]app.activeDocument = docRef0;
	docRef0.paste();
	[COLOR="Green"]//--- reinitialisieren -----------------------------------------------------------
	[/COLOR]docRef0=[COLOR="Blue"]null[/COLOR];
	docRef1=[COLOR="Blue"]null[/COLOR];
	app.preferences.rulerUnits = startRulerUnits;
	app.preferences.typeUnits = startTypeUnits;
	app.displayDialogs = startDisplayDialogs;
	app.bringToFront();
}[COLOR="Green"] // end if
//--- Array mit Auswahlkoordinaten erstellen -----------------------------[/COLOR]
[COLOR="Blue"]function [/COLOR]Auswahl( x0, y0, x1, y1 ){
[COLOR="Blue"]return 	[/COLOR][COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR](
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x0, y0 ),
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x1, y0 ),
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x1, y1 ),
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x0, y1 )
				);
}
[COLOR="Green"]/*	createProgressWindow
	title 		the window title
	min		the minimum value for the progress bar
	max		the maximum value for the progress bar
	parent	the parent ScriptUI window (opt)
	useCancel flag for having a Cancel button (opt)
	
	onCancel	This method will be called when the Cancel button is pressed.
			This method should return 'true' to close the progress window
*/[/COLOR]
[COLOR="Blue"]function [/COLOR]createProgressWindow(title, min, max, parent, useCancel) {
	[COLOR="Blue"]var [/COLOR]win = [COLOR="Blue"]new [/COLOR]Window([COLOR="Purple"]'palette'[/COLOR], title);
	win.bar = win.add([COLOR="Purple"]'progressbar'[/COLOR], undefined, min, max);
	win.bar.preferredSize = [400, 20];
	win.parent = undefined;
	[COLOR="Blue"]if [/COLOR](parent) {
		[COLOR="Blue"]if [/COLOR](parent [COLOR="Blue"]instanceof [/COLOR]Window) {
			win.parent = parent;
		} [COLOR="Blue"]else if[/COLOR] (useCancel == undefined) {
			useCancel = parent;
		} [COLOR="Green"]// end if[/COLOR]
	}[COLOR="Green"] // end if[/COLOR]
	[COLOR="Blue"]if [/COLOR](useCancel) {
		win.cancel = win.add([COLOR="Purple"]'button'[/COLOR], undefined, [COLOR="Purple"]'Abbrechen'[/COLOR]);
		win.cancel.onClick = [COLOR="Blue"]function[/COLOR]() {
			[COLOR="Blue"]try [/COLOR]{
				[COLOR="Blue"]if [/COLOR](win.onCancel) {
					[COLOR="Blue"]var [/COLOR]rc = win.onCancel();
					[COLOR="Blue"]if [/COLOR](rc || rc == undefined) {
						win.close();
					} [COLOR="Green"]// end if[/COLOR]
				} [COLOR="Blue"]else [/COLOR]{
					win.close();
				} [COLOR="Green"]// end if[/COLOR]
			} [COLOR="Blue"]catch [/COLOR](e) {
				alert(e);
			} [COLOR="Green"]// end try[/COLOR]
		} [COLOR="Green"]// end function[/COLOR]
	} [COLOR="Green"]// end if[/COLOR]
	win.updateProgress = [COLOR="Blue"]function[/COLOR](val) {
		[COLOR="Blue"]var [/COLOR]win = [COLOR="Blue"]this[/COLOR];
		win.bar.value = val;
[COLOR="Green"]		// recenter the progressWindow if desired
		// win.center(win.parent);[/COLOR]
		win.show();
	} [COLOR="Green"]// end function[/COLOR]
	win.center(win.parent);
	[COLOR="Blue"]return [/COLOR]win;
}; [/SIZE]
 
AW: Projekt Baustelle

mh,

ich glaube ich mache irgendwas falsch, hab mir ein dri erstellt und in photomatix tone mapping gestartet und mal an alles reglern rumprobiert, alles was sich verändert hat war helligkeit und kontraste, aber nichts sah auch nur annährend wie eined der bilder hier aus. gibts da noch einen trick bei??

danke schonmal

gruß
christian
 
AW: Projekt Baustelle

Hallo ihr lieben, ich habe nochmal mein Script zur Vermeidung des störenden Gitters beim Korneffekt überarbeitet. Es läuft jetzt etwas schneller durch, zeigt den aktuellen Fortschritt an und kann jederzeit abgebrochen werden. Ich empfehle das Script für die finale Bearbeitung, zum üben und erarbeitet von Techniken ist es noch zu zeitintensiv. Untenstehen Tabelle zeigt was meine lahme Kiste noch bringt (Ultraalt-Singel-Core Pentium 3,4 mit 2GB RAM):

Korneffekt-anisotrop-Benchmark :)
Code:
Bildgröße | Karos | Zeit_PSmax | Zeit_PSmin
--------------------------------------------
 666x1000 |    70 |	 1m13s |        16s
1000x1500 |   140 |      2m40s |        31s
2000x3000 |   532 |     13m37s |      2m00s
4000x6000 |  2035 |            |      8m59s
Karos sind die Kleines Stückchen in die das Bild zerlegt wird, Zeit_PSmax ist die benötigte Zeit wenn Photoshop normal maximiert am Bildschirm präsent ist, Teit_PSmin das äquivalent dazu wenn Photoshop in die Tastkleiste minimiert wird bevor das Script im ExtendScript Toolkit ausgeführt wird.
Untere letzterer Bedingung läuft das Script also deutlich schneller ab, wie man sehen kann.

Code:
[SIZE="1"][COLOR="Green"]/*	
	Version	: 	3.0.2 (19.01.2008)
	Autor	:	mariane 
	Kontakt	:	www.dslr-forum.de/member.php?u=17936
	
	Dieses  Script  kopiert  auf  eine  Ebene  reduziert und wendet
	dann den Kornfilter (im Modus anisotrop) an. Unter normalen
	Umständen  entsteht  ein  störendes  Gitter   beim   Korneffekt;
	dieses Script verhindert dies.

	Das Script sollte im ExtendScript Toolkit geöffnet und von dort 
	aus gestartet  werden  nachdem  zuvor  Photoshop  minimiert 
	wurde.  Eine  Akualisierung  von  Histogramm-,  Paletten- und 
	Bildschirmaktuallisierung  wird  dadurch  vermieden  und das   
	Script wird um den Faktor 5 schneller abgearbeitet.
*/[/COLOR]
[COLOR="Olive"]#target photoshop[/COLOR]
[COLOR="Blue"]if [/COLOR]( !app.documents.length > 0 ) {
	app.bringToFront();
	alert( [COLOR="DarkRed"]"Kein Bild geöffnet!"[/COLOR] );
}[COLOR="Blue"]else[/COLOR]{
	[COLOR="Green"]//--- Initialisieren -------------------------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]startRulerUnits = app.preferences.rulerUnits;
	[COLOR="Blue"]var [/COLOR]startTypeUnits = app.preferences.typeUnits;
	[COLOR="Blue"]var [/COLOR]startDisplayDialogs = app.displayDialogs;
	app.preferences.rulerUnits = Units.PIXELS;
	app.preferences.typeUnits = TypeUnits.PIXELS;
	app.displayDialogs = DialogModes.NO;
	[COLOR="Green"]//--- Dokument  ---------------------------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]docRef0 = app.activeDocument;
	[COLOR="Blue"]var [/COLOR]docBreite = docRef0.width;
	[COLOR="Blue"]var [/COLOR]docHoehe = docRef0.height;

	[COLOR="Green"]//--- Ebene erstellen --------------------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]layer0=docRef0.artLayers.add();
	layer0.name=[COLOR="DarkRed"]"Korneffekt"[/COLOR];
	[COLOR="Green"]//--- auf eine Ebene reduziert kopieren --------------------------------[/COLOR]
	docRef0.selection.selectAll();
	docRef0.selection.copy( [COLOR="Blue"]true [/COLOR]);
	[COLOR="Green"]//--- neues Dokument erstellen ------------------------------------------[/COLOR]
	[COLOR="Blue"]var [/COLOR]karo = 150;
	[COLOR="Blue"]var [/COLOR]cute = 20;
	[COLOR="Blue"]var [/COLOR]breite = docBreite + 2*cute;
	[COLOR="Blue"]var [/COLOR]hoehe = docHoehe + 2*cute;
	[COLOR="Blue"]var [/COLOR]docRef1 = app.documents.add( docBreite, docHoehe, docRef0.resolution, [COLOR="DarkRed"]"Temp"[/COLOR] );
	[COLOR="Green"]//--- einfügen und auf eine Ebene reduzieren -----------------------
	[/COLOR]docRef1.paste();
	docRef1.flatten();
	[COLOR="Green"]//--- Arbeitsfläche erweitern -----------------------------------------------[/COLOR]
	docRef1.resizeCanvas(breite, hoehe, AnchorPosition.MIDDLECENTER );
	docRef1.resizeCanvas( breite+karo, hoehe+karo, AnchorPosition.TOPLEFT );
	[COLOR="Green"]//--- 2 neue Ebenen ---------------------------------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]layer2=docRef1.artLayers.add();
	[COLOR="Blue"]var [/COLOR]layer3=docRef1.artLayers.add();
	[COLOR="Green"]//--- history bereinigen initiallisieren ------------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]history_par = [COLOR="Blue"]new [/COLOR]ActionDescriptor();
	[COLOR="Blue"]var [/COLOR]history_ref = [COLOR="Blue"]new [/COLOR]ActionReference();
	[COLOR="Blue"]var [/COLOR]history_clear = stringIDToTypeID( [COLOR="DarkRed"]"clearEvent"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par1 = stringIDToTypeID( [COLOR="DarkRed"]"null"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par2 = stringIDToTypeID( [COLOR="DarkRed"]"property"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par3 = stringIDToTypeID( [COLOR="DarkRed"]"historyStates"[/COLOR] );
	[COLOR="Blue"]var [/COLOR]par4 = stringIDToTypeID([COLOR="DarkRed"] "document" [/COLOR]);
	[COLOR="Blue"]var [/COLOR]par5 = stringIDToTypeID( [COLOR="DarkRed"]"ordinal" [/COLOR]);
	[COLOR="Blue"]var [/COLOR]par6 = stringIDToTypeID( [COLOR="DarkRed"]"targetEnum"[/COLOR] );
	history_ref.putProperty( par2, par3 );
	history_ref.putEnumerated( par4, par5, par6 );
	history_par.putReference( par1, history_ref );
	[COLOR="Blue"]var [/COLOR]clear_history = [COLOR="Blue"]function[/COLOR](){
		executeAction( history_clear, history_par, DialogModes.NO );
	} [COLOR="Green"]// end function
	//--- Kornfilter anisotrop initiallisieren ----------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]parameter = [COLOR="Blue"]new [/COLOR]ActionDescriptor();
	[COLOR="Blue"]var [/COLOR]diffuse = stringIDToTypeID( [COLOR="DarkRed"]"diffuse"[/COLOR] );
	par1 = stringIDToTypeID( [COLOR="DarkRed"]"mode"[/COLOR] );
	par2 = stringIDToTypeID( [COLOR="DarkRed"]"diffuseMode"[/COLOR] );
	par3 = stringIDToTypeID( [COLOR="DarkRed"]"anisotropic"[/COLOR] );
	parameter.putEnumerated( par1, par2, par3 );
	[COLOR="Blue"]var [/COLOR]Kornfilter = [COLOR="Blue"]function[/COLOR](){
		executeAction( diffuse, parameter, DialogModes.NO );
	} [COLOR="Green"]// end function
	//--- Fortschrittsbalken initialisieren -------------------------------------
	[/COLOR][COLOR="Blue"]var [/COLOR]i =0;
	[COLOR="Blue"]var [/COLOR]time = 0;
	[COLOR="Blue"]var [/COLOR]minute;
	[COLOR="Blue"]var [/COLOR]sekunde;
	[COLOR="Blue"]var [/COLOR]max = Math.ceil(hoehe/(karo-cute*2))*[COLOR="DarkRed"]Math[/COLOR].ceil(breite/(karo-cute*2));
	[COLOR="Blue"]var [/COLOR]progressWindow = createProgressWindow([COLOR="DarkRed"]" bitte warten..."[/COLOR], 0, max, [COLOR="Blue"]true[/COLOR]);
	progressWindow.isDone = [COLOR="Blue"]false[/COLOR];
	progressWindow.onCancel = [COLOR="Blue"]function[/COLOR]() {
		[COLOR="Blue"]this[/COLOR].isDone = [COLOR="Blue"]true[/COLOR];
		[COLOR="Blue"]return [/COLOR][COLOR="Blue"]true[/COLOR]; [COLOR="Green"] // return 'true' to close the window[/COLOR]
	} [COLOR="Green"]// end function[/COLOR]
	[COLOR="Blue"]var [/COLOR]Bar = [COLOR="Blue"]function[/COLOR]( var1, var2 ){
				minute = [COLOR="DarkRed"]Math[/COLOR].floor(var1/var2*(max-var2)/60);
				sekunde = [COLOR="DarkRed"]Math[/COLOR].floor(var1/var2*(max-var2))-minute*60
				[COLOR="Blue"]if[/COLOR](sekunde==60){
					sekunde=[COLOR="DarkRed"]"00"[/COLOR];
					minute++;
				}[COLOR="Blue"]else[/COLOR]{
					[COLOR="Blue"]if[/COLOR](sekunde<10){
						sekunde=[COLOR="DarkRed"]"0"[/COLOR] + sekunde;
					} [COLOR="Green"]// end if[/COLOR]
				} [COLOR="Green"]// end if[/COLOR]
				progressWindow.text = ([COLOR="DarkRed"]" bitte warten... "[/COLOR] + minute + [COLOR="DarkRed"]"min "[/COLOR] + sekunde + [COLOR="DarkRed"]"s       Ø="[/COLOR] + ( var1/var2+ [COLOR="DarkRed"]"000"[/COLOR] ).toString().substr(0, 5)  +[COLOR="DarkRed"]"s  noch "[/COLOR] + (max-var2) + [COLOR="DarkRed"]" von "[/COLOR] + max);
	} [COLOR="Green"]// end function[/COLOR]
	[COLOR="Blue"]try [/COLOR]{
		[COLOR="Green"]//--- hier gehts rechenintensiv los -----------------------------------
		[/COLOR][COLOR="Blue"]for [/COLOR]( [COLOR="Blue"]var [/COLOR]yi=0; yi < hoehe; yi+=karo-cute*2 ){
			[COLOR="Blue"]for [/COLOR]( [COLOR="Blue"]var [/COLOR]xi=0; xi < breite; xi+=karo-cute*2 ){
				[COLOR="Blue"]var [/COLOR]t1 = [COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Date[/COLOR]();
				if (progressWindow.isDone) {
					[COLOR="Blue"]break[/COLOR];
				} [COLOR="Green"]// end if[/COLOR]
				progressWindow.updateProgress(i); 
				[COLOR="Blue"]var [/COLOR]HistoryState = docRef1.activeHistoryState;
				[COLOR="Green"]//--- karo auswählen und kopieren -------------------------				
				[/COLOR]activeDocument.crop(
						[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( xi, yi, xi+karo, yi+karo ) );
				[COLOR="Green"]//--- Filter anwenden --------------------------------------------
				[/COLOR]docRef1.flatten();
				Kornfilter();
				[COLOR="Green"]//--- mit verkleinerte Auswahl kopieren --------------------
				[/COLOR]docRef1.selection.select(
						Auswahl( cute, cute, karo-cute, karo-cute ),
						SelectionType.REPLACE );		
				docRef1.selection.copy();
				[COLOR="Green"]//--- Protokol vor "karo auswählen" setzen ----------------[/COLOR]
				docRef1.activeHistoryState=HistoryState;
				[COLOR="Green"]//--- in verkleinerter Auswahl einfügen ---------------------[/COLOR]
				docRef1.selection.select(
						Auswahl( xi+cute, yi+cute, xi-cute+karo, yi-cute+karo ),
						SelectionType.REPLACE );			
				layer2.visible=[COLOR="Blue"]true[/COLOR];
				docRef1.paste();
				docRef1.activeLayer.merge();[COLOR="Green"] // Ebene reduzieren[/COLOR]
				layer2.visible=[COLOR="Blue"]false[/COLOR];
				clear_history();
				[COLOR="Green"]//---[/COLOR]
				i++;
				time += ([COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Date[/COLOR]()-t1)/1000;
				Bar( time, i );
			} [COLOR="Green"]// end for[/COLOR]
		} [COLOR="Green"]// end for[/COLOR]
	} [COLOR="Blue"]catch [/COLOR](e) {
		alert(e);
	} [COLOR="Blue"]finally [/COLOR]{
		progressWindow.close();
	} [COLOR="Green"]// end try[/COLOR]
	layer2.visible=[COLOR="Blue"]true[/COLOR];
	[COLOR="Green"]//--- ursprüngliche Dokumentgröße wiederherstellen -------------
	[/COLOR]docRef1.resizeCanvas( breite, hoehe, AnchorPosition.TOPLEFT );
	docRef1.resizeCanvas( docBreite, docHoehe, AnchorPosition.MIDDLECENTER );
	[COLOR="Green"]//--- kopieren, Temp-Dokument schließen ---------------------------
	[/COLOR]docRef1.flatten();
	docRef1.selection.selectAll();
	docRef1.selection.copy();
	docRef1.close( SaveOptions.DONOTSAVECHANGES );
	[COLOR="Green"]//--- Ergebnis einfügen -----------------------------------------------------
	[/COLOR]app.activeDocument = docRef0;
	docRef0.paste();
	[COLOR="Green"]//--- reinitialisieren -----------------------------------------------------------
	[/COLOR]docRef0=[COLOR="Blue"]null[/COLOR];
	docRef1=[COLOR="Blue"]null[/COLOR];
	app.preferences.rulerUnits = startRulerUnits;
	app.preferences.typeUnits = startTypeUnits;
	app.displayDialogs = startDisplayDialogs;
	app.bringToFront();
}[COLOR="Green"] // end if
//--- Array mit Auswahlkoordinaten erstellen -----------------------------[/COLOR]
[COLOR="Blue"]function [/COLOR]Auswahl( x0, y0, x1, y1 ){
[COLOR="Blue"]return 	[/COLOR][COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR](
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x0, y0 ),
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x1, y0 ),
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x1, y1 ),
				[COLOR="Blue"]new [/COLOR][COLOR="DarkRed"]Array[/COLOR]( x0, y1 )
				);
}
[COLOR="Green"]/*	createProgressWindow
	title 		the window title
	min		the minimum value for the progress bar
	max		the maximum value for the progress bar
	parent	the parent ScriptUI window (opt)
	useCancel flag for having a Cancel button (opt)
	
	onCancel	This method will be called when the Cancel button is pressed.
			This method should return 'true' to close the progress window
*/[/COLOR]
[COLOR="Blue"]function [/COLOR]createProgressWindow(title, min, max, parent, useCancel) {
	[COLOR="Blue"]var [/COLOR]win = [COLOR="Blue"]new [/COLOR]Window([COLOR="Purple"]'palette'[/COLOR], title);
	win.bar = win.add([COLOR="Purple"]'progressbar'[/COLOR], undefined, min, max);
	win.bar.preferredSize = [400, 20];
	win.parent = undefined;
	[COLOR="Blue"]if [/COLOR](parent) {
		[COLOR="Blue"]if [/COLOR](parent [COLOR="Blue"]instanceof [/COLOR]Window) {
			win.parent = parent;
		} [COLOR="Blue"]else if[/COLOR] (useCancel == undefined) {
			useCancel = parent;
		} [COLOR="Green"]// end if[/COLOR]
	}[COLOR="Green"] // end if[/COLOR]
	[COLOR="Blue"]if [/COLOR](useCancel) {
		win.cancel = win.add([COLOR="Purple"]'button'[/COLOR], undefined, [COLOR="Purple"]'Abbrechen'[/COLOR]);
		win.cancel.onClick = [COLOR="Blue"]function[/COLOR]() {
			[COLOR="Blue"]try [/COLOR]{
				[COLOR="Blue"]if [/COLOR](win.onCancel) {
					[COLOR="Blue"]var [/COLOR]rc = win.onCancel();
					[COLOR="Blue"]if [/COLOR](rc || rc == undefined) {
						win.close();
					} [COLOR="Green"]// end if[/COLOR]
				} [COLOR="Blue"]else [/COLOR]{
					win.close();
				} [COLOR="Green"]// end if[/COLOR]
			} [COLOR="Blue"]catch [/COLOR](e) {
				alert(e);
			} [COLOR="Green"]// end try[/COLOR]
		} [COLOR="Green"]// end function[/COLOR]
	} [COLOR="Green"]// end if[/COLOR]
	win.updateProgress = [COLOR="Blue"]function[/COLOR](val) {
		[COLOR="Blue"]var [/COLOR]win = [COLOR="Blue"]this[/COLOR];
		win.bar.value = val;
[COLOR="Green"]		// recenter the progressWindow if desired
		// win.center(win.parent);[/COLOR]
		win.show();
	} [COLOR="Green"]// end function[/COLOR]
	win.center(win.parent);
	[COLOR="Blue"]return [/COLOR]win;
}; [/SIZE]



Hi,

das klappt bei mir nicht - "Keine Verbindung zum Ziel photoshop möglich"
CS3 läuft aber im Hintergrund.

Was läuft da falsch?

Gruss
Alex
 
AW: Projekt Baustelle

Ich habe ein dunkles Rot als Vollton dahinter gelegt und dann gemalt - offensichtlich nicht gründlich genug - ich wollte nur das Holz ein wenig vom Grau befreien. :)
Bin halt blind. :)

Ich wollte es nur wissen, da mir das gleiche auch immer Passiert:eek: Gruß Tino.
 
AW: Projekt Baustelle

So ich habe weiter gelesen und versucht das gelesene anzwenden.. denke das ist jetzt bisher mein bestes Bild ... hab mich versucht sehr zurückzuhalten was das absoften angeht, da in diesem Bereich wohl mein grösster Fehler lag ...

vielleicht könnt ihr mich ja auch weiterhin ein bisschen in die richtige Richtung schubsen :)

Danke und grüsse Mark
 
AW: Projekt Baustelle

Farbe, Kontrast und Schärfe und deren Auswirkung auf die Illustration – Teil 2

Nach den allgemeinen Korrekturen aus dem Teil 1 geht es im Teil 2 mit der lokalen Bearbeitung weiter. Um den Vorher-/Nachher - Effekt am besten darstellen zu können, habe ich mich bei den Beispielbildern auf die Bereiche konzentriert für die ich zuvor die Auswahlmasken erstellt habe. Die Zweiteilung des Hintergrundes habe ich beibehalten. (Links-Original / Rechts – Endresultat vom Teil 1).


Farb-/Tonwertkorrektur – Teil 2 (lokal)

Jetzt kommen die „dramatischen“ Veränderungen ins Bild. Bei diesem Schritt ist nichts Neues hinzu gekommen !! Ich habe bei der Bearbeitung nur die in Teil 1 genannten Schritte noch mal wiederholt bzw. auf die lokalen Bereiche abgestimmt.

"Schwellenwerte festgelegt , Gradationskurven bearbeitet und bis in den lokalen Grenzbereich selektiv nachgeschärft !"

#1: Sattel
#2: Seil mit Hacken
#3: Pony (da mich die Bewegungsunschärfe im Schweif doch sehr gestört hat, habe ich sie quick&dirty korrigiert)


Fortsetzung folgt !

Lg
Roland

2a.jpg 2b.jpg 2c.jpg


P.S.:
Ich hoffe, dass man spätestens jetzt erkennen kann, wie wichtig die „Vorbereitung“ ist und welche Auswirkungen sie auf die Illustration haben wird. "Normaler" Arbeitsaufwand bis hier her ca. 30 Min., wenn man nicht gerade mit mehrfach geteilten Bildern und verschiedenen Bildversionen gleichzeitig arbeitet. Ich bitte deshalb um ein wenig Nachsicht, dass ich die Teile "tröpfchenweise" poste.
 
Zuletzt bearbeitet von einem Moderator:
AW: Projekt Baustelle

So ich habe weiter gelesen und versucht das gelesene anzwenden.. denke das ist jetzt bisher mein bestes Bild ... hab mich versucht sehr zurückzuhalten was das absoften angeht, da in diesem Bereich wohl mein grösster Fehler lag ...

vielleicht könnt ihr mich ja auch weiterhin ein bisschen in die richtige Richtung schubsen :)

Danke und grüsse Mark
Schön, dass außer mir noch einige andere die Höllentour gehen. Sei vorsichtiger mit dem Schärfen (lieber öfter mit ganz kleinen Radien und bei jedem Versuch eine stark vergrößerte Vorschau zeigen lassen). So vermeidest Du die unschönen Kanten.
 
AW: Projekt Baustelle

Ich hab mal ne Frage an die Profis, wie kann ich mit dem Zauberstab Werkzeug mehrere Sachen auf einmal Auswählen:confused: Gruß Tino.
 
AW: Projekt Baustelle

@Ndungu Kannst du Evtl. das Original einstellen Gruß Tino.

Hallo Tino

Hab leider nicht weiter darüber nachgedacht,daß man natürlich nur mit Hilfe des Originals die Änderungen begutachten kann und somit Tipps und Fehler erkennen kann.Sorry

Hier kommt also gleich mal das Original nur Verkleinert.

Viele Grüße Uwe
 
AW: Projekt Baustelle

@ Ndungu kein Problem Danke dir.

@ Reiner jo sieht Natürlicher aus, und die Bastelei kommt gut rüber, ja ich werde jetzt auch Einkaufen Fahren und Danke für den Tipp wegen des Zauberstabes Gruß Tino.
 
AW: Projekt Baustelle

Hallo,

@filth, bei deinem Archeversuch fehlt noch ein wenig die Schärfe und Detailgenauigkeit. Die Farben könnten auch noch lebendiger ausfallen und den Himmel würde ich nicht so offen lassen.

@Reiner Worm, Hallo Reiner - dein Bearbeitung gefällt mir schon besser, sie ist schärfer und Detailreicher. Sie hat zwar einen Rotstich aber woran das liegt ist ja bekannt. Deine Idee mit dem Jungen ist klasse und auch wirklich schön umgesetzt. Auch der einmontierte Himmel wertet das Bild noch weiter auf, wobei die Montage noch sauberer hätte ausfallen können. Es freut mich auch zu lesen, dass dieses Bild dich zu diesem Thread geführt hat.

@macspezi, deine Version ist zu hart im Kontrast und die Farben zu flau nach meinem Geschmack aber du hast den Himmel verbessert, toll.

@mariane, leider kann ich mit deinen Scripten nicht viel anfangen, da ich mich damit noch nicht befaßt habe. Aber das Anisotop-Problem hat sich mit dem Drehen doch recht gut und effizient gelöst, oder?

@powerfloh, hallo und herzlich willkommen aber du müstst dein Bild schon mal posten sonst kann man nichts sagen.

@sh79ma, Hallo Marc - dein Bild wirkt noch ein wenig zu scharf und ich habe das Gefühl dein Softfilter harmoniert mit deiner Bearbeitung nicht, wechsle einfach mal deine Absoftmethode.

@Robe331, Hallo Roland, vielen Dank für deinen zweiten Teil in Punkto Farb- Tonwertkorrektur. Deine veränderten und korrigierten Farben sehen viel lebendiger aus als meine, toll.

Anbei noch meine Arche-Variante. Ich habe mich beim Mini-Composing erst mal nur auf den Himmel beschränkt.

Gruss,

Udo
 
WERBUNG
Zurück
Oben Unten