|
|
|
| у меня глюки: хочу рандомизировать фильтры к картинке, а он материт
<br />
<b>Warning</b>: imagefilter() expects parameter 2 to be long, string given in <b>I:\sayt\php_progekts\image\rand\random.php</b> on line <b>15</b><br />
<br />
<b>Warning</b>: Wrong parameter count for imagefilter() in <b>I:\sayt\php_progekts\image\rand\random.php</b> on line <b>15</b><br />
<?php
$filename = "filters.txt";
$lines = file($filename);
$index = rand(0, count($lines) - 1);
$filter = $lines[$index];
header("Content-type: image/gif");
$image = imagecreatefromgif ("img.gif");
$black = imagecolorallocate($image, 255, 255, 255);
imagefilter($image, $filter);
imagegif($image);
?>
в filters.txt лежат фильтры построчно | |
|
|
|
|
|
|
|
для: выдр
(07.04.2007 в 15:57)
| | >в filters.txt лежат фильтры построчно
Вторым параметром нужно передавать константу типа integer. В каком формате записаны фильтры в файле? | |
|
|
|
|
|
|
|
для: sms-send
(07.04.2007 в 16:46)
| | IMG_FILTER_NEGATE
IMG_FILTER_GRAYSCALE
IMG_FILTER_EDGEDETECT
IMG_FILTER_EMBOSS
IMG_FILTER_GAUSSIAN_BLUR
IMG_FILTER_SELECTIVE_BLUR
IMG_FILTER_MEAN_REMOVAL
вот его содержание | |
|
|
|
|
|
|
|
для: выдр
(07.04.2007 в 20:30)
| | Попробуйте записать в файл filters.txt такие строки:
И модифицировать код:
<?php
$filename = "filters.txt";
$lines = file($filename);
$index = rand(0, count($lines) - 1);
$filter = (int)$lines[$index];
header("Content-type: image/gif");
$image = imagecreatefromgif ("img.gif");
$black = imagecolorallocate($image, 255, 255, 255);
imagefilter($image, $filter);
imagegif($image);
|
| |
|
|
|
|
|
|
|
для: выдр
(07.04.2007 в 20:30)
| | >IMG_FILTER_NEGATE
>IMG_FILTER_GRAYSCALE
>IMG_FILTER_EDGEDETECT
>IMG_FILTER_EMBOSS
>IMG_FILTER_GAUSSIAN_BLUR
>IMG_FILTER_SELECTIVE_BLUR
>IMG_FILTER_MEAN_REMOVAL
>
>вот его содержание
таким образом вы передаёте в функцию строковое значение, вместо константы. | |
|
|
|
|
|
|
|
для: выдр
(07.04.2007 в 20:30)
| | Можно и не менять "filters.txt", тогда используйте этот код:
<?php
$filename = "filters.txt";
$lines = file($filename);
$index = rand(0, count($lines) - 1);
$filter = $lines[$index];
header("Content-type: image/gif");
$image = imagecreatefromgif ("img.gif");
$black = imagecolorallocate($image, 255, 255, 255);
imagefilter($image,constant($filter));#обратите внимание на эту строку
imagegif($image);
?>
|
| |
|
|
|
|
|
|
|
для: sms-send
(07.04.2007 в 21:25)
| | Warning: constant() [function.constant]: Couldn't find constant IMG_FILTER_NEGATE in I:\sayt\php_progekts\image\rand\random.php on line 9
вот что он говорит при использовании Вашего кода | |
|
|
|
|
|
|
|
для: выдр
(08.04.2007 в 08:22)
| |
<?php
$filename = "filters.txt";
$lines = file($filename);
$filter = $lines[array_rand($lines)];
header("Content-type: image/gif");
$image = imagecreatefromgif("img.gif");
$black = imagecolorallocate($image, 255, 255, 255);
imagefilter($image,constant(rtrim($filter)));
imagegif($image);
?>
|
| |
|
|
|
|
|
|
|
для: Unkind
(08.04.2007 в 09:45)
| | огромное спасибо, все работает! | |
|
|
|