Antworten auf deine Fragen:
Neues Thema erstellen

Pixel aus Rotator auslesen

elyion_g2

Ach Jungs!?!

Hallo erstmal,

Ich habe eine Frage: Ich habe ein Rotator-Script gefunden welches ich in CSS einbinden kann und dann wechselt der Hintergrund des DIVS bei jedem Seitenaufruf.

Nun möchte ich fragen ob es möglich ist, in diesem Script etwas hinzuzufügen. Das auslesen der Farbe des Bildes. (Die Farbe eines einzigen Pixels würde auch bereits reichen)

Hier das Script des Rotators:

PHP:
<?php

/*

	AUTOMATIC IMAGE ROTATOR
	Version 2.2 - December 4, 2003
	Copyright (c) 2002-2003 Dan P. Benjamin, Automatic, Ltd.
	All Rights Reserved.

	http://www.hiveware.com/imagerotator.php
	
	http://www.automaticlabs.com/
	
	
	DISCLAIMER
	Automatic, Ltd. makes no representations or warranties about
	the suitability of the software, either express or
	implied, including but not limited to the implied
	warranties of merchantability, fitness for a particular
	purpose, or non-infringement. Dan P. Benjamin and Automatic, Ltd.
	shall not be liable for any damages suffered by licensee
	as a result of using, modifying or distributing this
	software or its derivatives.
	
	
	ABOUT
	This PHP script will randomly select an image file from a
	folder of images on your webserver.  You can then link to it
	as you would any standard image file and you'll see a random
	image each time you reload.
	
	When you want to add or remove images from the rotation-pool,
	just add or remove them from the image rotation folder.


	VERSION CHANGES
	Version 1.0
		- Release version
	
	Version 1.5
		- Tweaked a few boring bugs
	
	Version 2.0
		- Complete rewrite from the ground-up
		- Made it clearer where to make modifications
		- Made it easier to specify/change the rotation-folder
		- Made it easier to specify/change supported image types
		- Wrote better instructions and info (you're them reading now)
		- Significant speed improvements
		- More error checking
		- Cleaner code (albeit more PHP-specific)
		- Better/faster random number generation and file-type parsing
		- Added a feature where the image to display can be specified
		- Added a cool feature where, if an error occurs (such as no
		  images being found in the specified folder) *and* you're
		  lucky enough to have the GD libraries compiled into PHP on
		  your webserver, we generate a replacement "error image" on
		  the fly.
		
    Version 2.1
        - Updated a potential security flaw when value-matching
          filenames

    Version 2.2
        - Updated a few more potential security issues
        - Optimized the code a bit.
        - Expanded the doc for adding new mime/image types.

        Thanks to faithful ALA reader Justin Greer for
        lots of good tips and solid code contribution!


	INSTRUCTIONS
	1. Modify the $folder setting in the configuration section below.
	2. Add image types if needed (most users can ignore that part).
	3. Upload this file (rotate.php) to your webserver.  I recommend
	   uploading it to the same folder as your images.
	4. Link to the file as you would any normal image file, like this:

			<img src="http://example.com/rotate.php">

	5. You can also specify the image to display like this:

			<img src="http://example.com/rotate.php?img=gorilla.jpg">
		
		This would specify that an image named "gorilla.jpg" located
		in the image-rotation folder should be displayed.
	
	That's it, you're done.

*/




/* ------------------------- CONFIGURATION -----------------------


	Set $folder to the full path to the location of your images.
	For example: $folder = '/user/me/example.com/images/';
	If the rotate.php file will be in the same folder as your
	images then you should leave it set to $folder = '.';

*/


	$folder = '.';


/*	

	Most users can safely ignore this part.  If you're a programmer,
	keep reading, if not, you're done.  Go get some coffee.

    If you'd like to enable additional image types other than
	gif, jpg, and png, add a duplicate line to the section below
	for the new image type.
	
	Add the new file-type, single-quoted, inside brackets.
	
	Add the mime-type to be sent to the browser, also single-quoted,
	after the equal sign.
	
	For example:
	
	PDF Files:

		$extList['pdf'] = 'application/pdf';
	
    CSS Files:

        $extList['css'] = 'text/css';

    You can even serve up random HTML files:

	    $extList['html'] = 'text/html';
	    $extList['htm'] = 'text/html';

    Just be sure your mime-type definition is correct!

*/

    $extList = array();
	$extList['gif'] = 'image/gif';
	$extList['jpg'] = 'image/jpeg';
	$extList['jpeg'] = 'image/jpeg';
	$extList['png'] = 'image/png';
	

// You don't need to edit anything after this point.


// --------------------- END CONFIGURATION -----------------------

$img = null;

if (substr($folder,-1) != '/') {
	$folder = $folder.'/';
}

if (isset($_GET['img'])) {
	$imageInfo = pathinfo($_GET['img']);
	if (
	    isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
        file_exists( $folder.$imageInfo['basename'] )
    ) {
		$img = $folder.$imageInfo['basename'];
	}
} else {
	$fileList = array();
	$handle = opendir($folder);
	while ( false !== ( $file = readdir($handle) ) ) {
		$file_info = pathinfo($file);
		if (
		    isset( $extList[ strtolower( $file_info['extension'] ) ] )
		) {
			$fileList[] = $file;
		}
	}
	closedir($handle);

	if (count($fileList) > 0) {
		$imageNumber = time() % count($fileList);
		$img = $folder.$fileList[$imageNumber];
	}
}

if ($img!=null) {
	$imageInfo = pathinfo($img);
	$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
	header ($contentType);
	readfile($img);
} else {
	if ( function_exists('imagecreate') ) {
		header ("Content-type: image/png");
		$im = @imagecreate (100, 100)
		    or die ("Cannot initialize new GD image stream");
		$background_color = imagecolorallocate ($im, 255, 255, 255);
		$text_color = imagecolorallocate ($im, 0,0,0);
		imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
		imagepng ($im);
		imagedestroy($im);
	}
}

?>


Noch weitere Infos dazu:

Dieses Script gibt den Link des zufällig ausgewählten Bildes wieder.


ich danke vielmals für alle eure antworten!

---------
php-anfängerin
 
Zuletzt bearbeitet:

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

dankesehr. das funktioniert schoneimal....

nun kommt es so raus:

int(150) int(131) int(99)

nun wäre aber das ziel das ich dies schlussendlich etwa so hätte (damit CSS es akzeptiert)

#900000

wie erreiche ich das?
 

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

wie muss ich das einfügen...
PHP:
<?php
$im = imagecreatefromjpeg("bla.jpg");
$rgb = imagecolorat($im, 10, 15);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;

var_dump($r, $g, $b);
?>

das ist mein jetztiger code
 

cebito

undefined

AW: Pixel aus Rotator auslesen

dankesehr. das funktioniert schoneimal....

nun kommt es so raus:

int(150) int(131) int(99)

nun wäre aber das ziel das ich dies schlussendlich etwa so hätte (damit CSS es akzeptiert)

#900000

wie erreiche ich das?
Du kannst in CSS auch mit RGB-Werten arbeiten Bsp.
Code:
#meindiv{background:rgb(150,131,99);}
Ansonsten kannst auch sowas machen, ist zwar jetzt JS, lässt sich aber auf PHP übertragen
PHP:
   var $RGB = new Array();
   var k = 0;

   var $Hex = new Array('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

   for (i = 0; i < 16; i++) {
      for (j = 0; j < 16; j++) {
         $RGB[k] = $Hex[i] + $Hex[j];
         k++;
      }
   }
function RGBtoHex(r,g,b){
var farbe = '#' + $RGB[r] + $RGB[g] + $RGB[b];
alert(farbe);
}
und aufrufen
PHP:
RGBtoHex(150,131,99);
 

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

@Cebito

ja das mit dem RGB weiss ich, nur es gibt mir eben diese klammern und "int" aus.. [ int() ]
wenn dann müsste es doch mit komma ausgeben so wie es das CSS eben benötigt


tut mir leid aber ich kann das javascript nicht umschreiben.... zu wenig kenntnisse...
 

Duddle

Posting-Frequenz: 14µHz

AW: Pixel aus Rotator auslesen

Wenn du ein echo statt dem var_dump nimmst, bekommst du nur die Werte und nicht ihre Typen.
PHP:
 echo "R ist ".$r." - G ist ".$g." - B ist ".$b;


Duddle
 

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

das funktioniert...

nur ruft er mir für die farbgebung und den hintergrund das script 2mal verschieden auf...

auf dem server meines bruders (besitze noch keinen eigenen)

http://www.elyion.ch/testZ/wsf/header/ (ausgabe)
http://www.elyion.ch/testZ/wsf/header/rotator.php (auto-bildauswahl)
http://www.elyion.ch/testZ/wsf/header/style.css.php (stylesheet)


Stylesheet:
Code:
<?php header('Content-type: text/css'); 
$rgbhex = dechex($r).dechex($g).dechex($b);
$im = imagecreatefromjpeg("http://www.elyion.ch/testZ/wsf/header/rotator.php");
$rgb = imagecolorat($im, 1000, 150);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

body{
font-size: 100px;
font-weight: bold;
background: url(rotator.php);
color: rgb(<?="".$r.",".$g.",".$b ?>);
}

.div{
width: 200px;
height: 200px;
border: 15px solid;
border-color: rgb(<?="".$r.",".$g.",".$b ?>);
}

das rotator.php script habt ihr bereits oben...


was muss ich ändern damit er wirklich immer nur die farbe des hintergrundes als schriftfarbe nimmt?

Seite aktuallisieren = hintergrundbild wird gewechseld .. = müsste schriftfarbe sein (manchmal macht er es -> zufall)
 
Zuletzt bearbeitet:

Duddle

Posting-Frequenz: 14µHz

AW: Pixel aus Rotator auslesen

Das Problem ist, dass rotator.php die Bildauswahl mithilfe des Zeitstempels "zufällig" macht. Falls es also in der gleichen Sekunde mehrmals angefragt wird, ist das kein Problem. Anderenfalls ist das Ergebnis unterschiedlich.

Du könntest das Problem lösen, indem du z.B. die Zeitspanne erhöhst oder indem du einen / den gleichen Parameter jeweils an rotator übergibst, der diesen dann zur Bestimmung nutzt.

Für ersteres wäre das z.B.
PHP:
 if (count($fileList) > 0) {
        $imageNumber = time() % count($fileList);
        $img = $folder.$fileList[$imageNumber];
    }
wird zu
PHP:
 if (count($fileList) > 0) {
        $sekunden = 5;
        $mod = count($fileList) * $sekunden;
        $timeMod = time() % mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
        $nr = int($timeMod/$sekunden) //0 - 4 wird 0, 5 - 9 wird 1, etc.
        
        $imageNumber = $nr;
        $img = $folder.$fileList[$imageNumber];
    }


Duddle
 

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

jetzt funktioniert gar nichts mehr...

PHP:
<?php

/*

	AUTOMATIC IMAGE ROTATOR
	Version 2.2 - December 4, 2003
	Copyright (c) 2002-2003 Dan P. Benjamin, Automatic, Ltd.
	All Rights Reserved.

	http://www.hiveware.com/imagerotator.php
	
	http://www.automaticlabs.com/
	
	
	DISCLAIMER
	Automatic, Ltd. makes no representations or warranties about
	the suitability of the software, either express or
	implied, including but not limited to the implied
	warranties of merchantability, fitness for a particular
	purpose, or non-infringement. Dan P. Benjamin and Automatic, Ltd.
	shall not be liable for any damages suffered by licensee
	as a result of using, modifying or distributing this
	software or its derivatives.
	
	
	ABOUT
	This PHP script will randomly select an image file from a
	folder of images on your webserver.  You can then link to it
	as you would any standard image file and you'll see a random
	image each time you reload.
	
	When you want to add or remove images from the rotation-pool,
	just add or remove them from the image rotation folder.


	VERSION CHANGES
	Version 1.0
		- Release version
	
	Version 1.5
		- Tweaked a few boring bugs
	
	Version 2.0
		- Complete rewrite from the ground-up
		- Made it clearer where to make modifications
		- Made it easier to specify/change the rotation-folder
		- Made it easier to specify/change supported image types
		- Wrote better instructions and info (you're them reading now)
		- Significant speed improvements
		- More error checking
		- Cleaner code (albeit more PHP-specific)
		- Better/faster random number generation and file-type parsing
		- Added a feature where the image to display can be specified
		- Added a cool feature where, if an error occurs (such as no
		  images being found in the specified folder) *and* you're
		  lucky enough to have the GD libraries compiled into PHP on
		  your webserver, we generate a replacement "error image" on
		  the fly.
		
    Version 2.1
        - Updated a potential security flaw when value-matching
          filenames

    Version 2.2
        - Updated a few more potential security issues
        - Optimized the code a bit.
        - Expanded the doc for adding new mime/image types.

        Thanks to faithful ALA reader Justin Greer for
        lots of good tips and solid code contribution!


	INSTRUCTIONS
	1. Modify the $folder setting in the configuration section below.
	2. Add image types if needed (most users can ignore that part).
	3. Upload this file (rotate.php) to your webserver.  I recommend
	   uploading it to the same folder as your images.
	4. Link to the file as you would any normal image file, like this:

			<img src="http://example.com/rotate.php">

	5. You can also specify the image to display like this:

			<img src="http://example.com/rotate.php?img=gorilla.jpg">
		
		This would specify that an image named "gorilla.jpg" located
		in the image-rotation folder should be displayed.
	
	That's it, you're done.

*/




/* ------------------------- CONFIGURATION -----------------------


	Set $folder to the full path to the location of your images.
	For example: $folder = '/user/me/example.com/images/';
	If the rotate.php file will be in the same folder as your
	images then you should leave it set to $folder = '.';

*/


	$folder = '.';


/*	

	Most users can safely ignore this part.  If you're a programmer,
	keep reading, if not, you're done.  Go get some coffee.

    If you'd like to enable additional image types other than
	gif, jpg, and png, add a duplicate line to the section below
	for the new image type.
	
	Add the new file-type, single-quoted, inside brackets.
	
	Add the mime-type to be sent to the browser, also single-quoted,
	after the equal sign.
	
	For example:
	
	PDF Files:

		$extList['pdf'] = 'application/pdf';
	
    CSS Files:

        $extList['css'] = 'text/css';

    You can even serve up random HTML files:

	    $extList['html'] = 'text/html';
	    $extList['htm'] = 'text/html';

    Just be sure your mime-type definition is correct!

*/

    $extList = array();
	$extList['gif'] = 'image/gif';
	$extList['jpg'] = 'image/jpeg';
	$extList['jpeg'] = 'image/jpeg';
	$extList['png'] = 'image/png';
	

// You don't need to edit anything after this point.


// --------------------- END CONFIGURATION -----------------------

$img = null;

if (substr($folder,-1) != '/') {
	$folder = $folder.'/';
}

if (isset($_GET['img'])) {
	$imageInfo = pathinfo($_GET['img']);
	if (
	    isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
        file_exists( $folder.$imageInfo['basename'] )
    ) {
		$img = $folder.$imageInfo['basename'];
	}
} else {
	$fileList = array();
	$handle = opendir($folder);
	while ( false !== ( $file = readdir($handle) ) ) {
		$file_info = pathinfo($file);
		if (
		    isset( $extList[ strtolower( $file_info['extension'] ) ] )
		) {
			$fileList[] = $file;
		}
	}
	closedir($handle);

	if (count($fileList) > 0) {
        $sekunden = 5;
        $mod = count($fileList) * $sekunden;
        $timeMod = time() % mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
        $nr = int($timeMod/$sekunden); //0 - 4 wird 0, 5 - 9 wird 1, etc.
        
        $imageNumber = $nr;
        $img = $folder.$fileList[$imageNumber];
    }
}

if ($img!=null) {
	$imageInfo = pathinfo($img);
	$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
	header ($contentType);
	readfile($img);
} else {
	if ( function_exists('imagecreate') ) {
		header ("Content-type: image/png");
		$im = @imagecreate (100, 100)
		    or die ("Cannot initialize new GD image stream");
		$background_color = imagecolorallocate ($im, 255, 255, 255);
		$text_color = imagecolorallocate ($im, 0,0,0);
		imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
		imagepng ($im);
		imagedestroy($im);
	}
}

?>
 

Duddle

Posting-Frequenz: 14µHz

AW: Pixel aus Rotator auslesen

Ooops, Tippfehler:
PHP:
        $timeMod = time() % mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
sollte sein
PHP:
        $timeMod = time() % $mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
Das wird es wohl sein.

Edit: noch ein Fehler, bin kurzzeitig in die falsche Sprache geschlüpft :p
PHP:
        $nr = int($timeMod/$sekunden); //0 - 4 wird 0, 5 - 9 wird 1, etc.
sollte sein
PHP:
        $nr = intval($timeMod/$sekunden); //0 - 4 wird 0, 5 - 9 wird 1, etc.

ABER: ich habe gerade gemerkt, dass das insgesamt auch keine korrekte Lösung ist, sie macht es nur unwahrscheinlicher, dass das passiert. Kurz: mach das rückgängig und benutze einen jeweils gleichen GET-Parameter statt der time()-Funktion.


Duddle
 
Zuletzt bearbeitet:

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

Ooops, Tippfehler:
PHP:
        $timeMod = time() % mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
sollte sein
PHP:
        $timeMod = time() % $mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
Das wird es wohl sein.


Duddle

jetzt sieht mein skript so aus und es funktioniert leider noch immer nicht :) ... entschuldige .. aber danke schonmal für die schnellen antworten!

PHP:
<?php

/*

	AUTOMATIC IMAGE ROTATOR
	Version 2.2 - December 4, 2003
	Copyright (c) 2002-2003 Dan P. Benjamin, Automatic, Ltd.
	All Rights Reserved.

	http://www.hiveware.com/imagerotator.php
	
	http://www.automaticlabs.com/
	
	
	DISCLAIMER
	Automatic, Ltd. makes no representations or warranties about
	the suitability of the software, either express or
	implied, including but not limited to the implied
	warranties of merchantability, fitness for a particular
	purpose, or non-infringement. Dan P. Benjamin and Automatic, Ltd.
	shall not be liable for any damages suffered by licensee
	as a result of using, modifying or distributing this
	software or its derivatives.
	
	
	ABOUT
	This PHP script will randomly select an image file from a
	folder of images on your webserver.  You can then link to it
	as you would any standard image file and you'll see a random
	image each time you reload.
	
	When you want to add or remove images from the rotation-pool,
	just add or remove them from the image rotation folder.


	VERSION CHANGES
	Version 1.0
		- Release version
	
	Version 1.5
		- Tweaked a few boring bugs
	
	Version 2.0
		- Complete rewrite from the ground-up
		- Made it clearer where to make modifications
		- Made it easier to specify/change the rotation-folder
		- Made it easier to specify/change supported image types
		- Wrote better instructions and info (you're them reading now)
		- Significant speed improvements
		- More error checking
		- Cleaner code (albeit more PHP-specific)
		- Better/faster random number generation and file-type parsing
		- Added a feature where the image to display can be specified
		- Added a cool feature where, if an error occurs (such as no
		  images being found in the specified folder) *and* you're
		  lucky enough to have the GD libraries compiled into PHP on
		  your webserver, we generate a replacement "error image" on
		  the fly.
		
    Version 2.1
        - Updated a potential security flaw when value-matching
          filenames

    Version 2.2
        - Updated a few more potential security issues
        - Optimized the code a bit.
        - Expanded the doc for adding new mime/image types.

        Thanks to faithful ALA reader Justin Greer for
        lots of good tips and solid code contribution!


	INSTRUCTIONS
	1. Modify the $folder setting in the configuration section below.
	2. Add image types if needed (most users can ignore that part).
	3. Upload this file (rotate.php) to your webserver.  I recommend
	   uploading it to the same folder as your images.
	4. Link to the file as you would any normal image file, like this:

			<img src="http://example.com/rotate.php">

	5. You can also specify the image to display like this:

			<img src="http://example.com/rotate.php?img=gorilla.jpg">
		
		This would specify that an image named "gorilla.jpg" located
		in the image-rotation folder should be displayed.
	
	That's it, you're done.

*/




/* ------------------------- CONFIGURATION -----------------------


	Set $folder to the full path to the location of your images.
	For example: $folder = '/user/me/example.com/images/';
	If the rotate.php file will be in the same folder as your
	images then you should leave it set to $folder = '.';

*/


	$folder = '.';


/*	

	Most users can safely ignore this part.  If you're a programmer,
	keep reading, if not, you're done.  Go get some coffee.

    If you'd like to enable additional image types other than
	gif, jpg, and png, add a duplicate line to the section below
	for the new image type.
	
	Add the new file-type, single-quoted, inside brackets.
	
	Add the mime-type to be sent to the browser, also single-quoted,
	after the equal sign.
	
	For example:
	
	PDF Files:

		$extList['pdf'] = 'application/pdf';
	
    CSS Files:

        $extList['css'] = 'text/css';

    You can even serve up random HTML files:

	    $extList['html'] = 'text/html';
	    $extList['htm'] = 'text/html';

    Just be sure your mime-type definition is correct!

*/

    $extList = array();
	$extList['gif'] = 'image/gif';
	$extList['jpg'] = 'image/jpeg';
	$extList['jpeg'] = 'image/jpeg';
	$extList['png'] = 'image/png';
	

// You don't need to edit anything after this point.


// --------------------- END CONFIGURATION -----------------------

$img = null;

if (substr($folder,-1) != '/') {
	$folder = $folder.'/';
}

if (isset($_GET['img'])) {
	$imageInfo = pathinfo($_GET['img']);
	if (
	    isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
        file_exists( $folder.$imageInfo['basename'] )
    ) {
		$img = $folder.$imageInfo['basename'];
	}
} else {
	$fileList = array();
	$handle = opendir($folder);
	while ( false !== ( $file = readdir($handle) ) ) {
		$file_info = pathinfo($file);
		if (
		    isset( $extList[ strtolower( $file_info['extension'] ) ] )
		) {
			$fileList[] = $file;
		}
	}
	closedir($handle);

	if (count($fileList) > 0) {
        $sekunden = 5;
        $mod = count($fileList) * $sekunden;
        $timeMod = time() % $mod; //Bsp. für 3 Bilder ist das 0,1,...,14,0,1,...,14
        $nr = int($timeMod/$sekunden); //0 - 4 wird 0, 5 - 9 wird 1, etc.
        
        $imageNumber = $nr;
        $img = $folder.$fileList[$imageNumber];
    }
}

if ($img!=null) {
	$imageInfo = pathinfo($img);
	$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
	header ($contentType);
	readfile($img);
} else {
	if ( function_exists('imagecreate') ) {
		header ("Content-type: image/png");
		$im = @imagecreate (100, 100)
		    or die ("Cannot initialize new GD image stream");
		$background_color = imagecolorallocate ($im, 255, 255, 255);
		$text_color = imagecolorallocate ($im, 0,0,0);
		imagestring ($im, 2, 5, 5,  "IMAGE ERROR", $text_color);
		imagepng ($im);
		imagedestroy($im);
	}
}

?>
 

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

nun ist jetzt unter: http://www.elyion.ch/testZ/wsf/header/
immernoch zwischendurch roter hintergrund und blaue schrift...

eigentlich währe ja das ziel: roter hintergrund = rote schrift
blauer hintergrund = blaue schrift
grüner hintergrund = grüne schrift

tut mir leid ... aber es funktioniert von dem her noch immer nicht...
(duddle - dein skript funktioniert schon. aber es hat eben nicht den gewünschten effekt)


überlegung:

das php script für die RGB ausgabe nimmt die bild-url von "rotator.php"
der hintergrund nimmt sein bild ebenfalls von "rotator.php"

nun wird das zweispurig ausgeführt?! ... damit es so kommt wie ich es möchte, müssten beide - hintergrundbild und das phpscript von einem url "rotator.php" ausgehen.. also von einem array o.Ä. (wie man dem genau sagt weiss ich nicht, bin nicht so eine php expertin :) ) ...

ich habe nun einen "array" gemacht: $pic = "rotator.php"
das stylesheet sieht nun folgendermassen aus:

Code:
<?php header('Content-type: text/css'); 
$pic = 'http://www.elyion.ch/testZ/wsf/header/rotator.php';
$rgbhex = dechex($r).dechex($g).dechex($b);
$im = imagecreatefromjpeg($picnale);
$rgb = imagecolorat($im, 1000, 150);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

body{
font-size: 100px;
font-weight: bold;
background: url(<?=$pic ?>);
color: rgb(<?="".$r.",".$g.",".$b ?>);
}

.div{
width: 200px;
height: 200px;
border: 15px solid;
border-color: rgb(<?="".$r.",".$g.",".$b ?>);
}

nur funktioniert das noch immer nicht wie gewünscht...
 
Zuletzt bearbeitet:

elyion_g2

Ach Jungs!?!

AW: Pixel aus Rotator auslesen

Duddle, ich weiss nicht was du damit gemeint hast:

ABER: ich habe gerade gemerkt, dass das insgesamt auch keine korrekte Lösung ist, sie macht es nur unwahrscheinlicher, dass das passiert. Kurz: mach das rückgängig und benutze einen jeweils gleichen GET-Parameter statt der time()-Funktion.

was muss ich denn konkret ändern?

ich bin leider eine änfängerin in php...
 

Duddle

Posting-Frequenz: 14µHz

AW: Pixel aus Rotator auslesen

Aus
PHP:
 if (count($fileList) > 0) {
        $imageNumber = time() % count($fileList);
        $img = $folder.$fileList[$imageNumber];
    }
wird
PHP:
 if (count($fileList) > 0) {
        $t = time();
        if(isset($_GET['t'])) $t = $_GET['t'];
        $imageNumber = $t % count($fileList);
        $img = $folder.$fileList[$imageNumber];
    }

Und dann in der CSS
PHP:
<?php 
header('Content-type: text/css'); 
$rgbhex = dechex($r).dechex($g).dechex($b);
$time = time();
$im = imagecreatefromjpeg("http://www.elyion.ch/testZ/wsf/header/rotator.php?t=".$time);
$rgb = imagecolorat($im, 1000, 150);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
?>

body{
font-size: 100px;
font-weight: bold;
background: url(rotator.php?t=<?php echo $time; ?>);
color: rgb(<?="".$r.",".$g.",".$b ?>);
}

.div{
width: 200px;
height: 200px;
border: 15px solid;
border-color: rgb(<?="".$r.",".$g.",".$b ?>);
}

Ich weiss jetzt nicht genau, was passiert wenn der URL-Parameter im background-Werte angegeben wird, aber kann es gerade hier lokal auch nicht testen.


Duddle
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben