Zanalazłem gotowy skrypt w PHP który zmienia obraz kolorowy w grayscale, jednakże gdy zamiast nazwy pliku wpisuję ścieżkę dostępu do obrazu z kamery obraz się nie wyświetla:
Kod
<?php </P> <P>$file = 'http://adres.pl:port/image.jpg';<BR>$newfile = 'image.jpg';</P> <P>copy($file, $newfile);</P> <P><BR>$source_file = "image.jpg";</P> <P>$im = ImageCreateFromJpeg($source_file); </P> <P>$imgw = imagesx($im);<BR>$imgh = imagesy($im);</P> <P>for ($i=0; $i<$imgw; $i++)<BR>{<BR> for ($j=0; $j<$imgh; $j++)<BR> {<BR> <BR> // get the rgb value for current pixel<BR> <BR> $rgb = ImageColorAt($im, $i, $j); <BR> <BR> // extract each value for r, g, b<BR> <BR> $rr = ($rgb >> 16) & 0xFF;<BR> $gg = ($rgb >> 8) & 0xFF;<BR> $bb = $rgb & 0xFF;<BR> <BR> // get the Value from the RGB value<BR> <BR> $g = round(($rr + $gg + $bb) / 3);<BR> <BR> // grayscale values have r=g=b=g<BR> <BR> $val = imagecolorallocate($im, $g, $g, $g);<BR> <BR> // set the gray value<BR> <BR> imagesetpixel ($im, $i, $j, $val);<BR> }<BR>}</P> <P>header('Content-type: image/jpeg');<BR>imagejpeg($im);<BR>?>
pomyślałem także, że może by pierw zapisać obraz z adresu na serwer www za pomocą poniższego skryptu, a później skorzystać z powyższego skryptu
Kod
<?php<BR>$file = 'http://adres.pl:port/image.jpg';<BR>$newfile = 'image.jpg';</P> <P>copy($file, $newfile);</P> <P>// Save the image as 'image.jpg'<BR>imagejpeg($file, 'image.jpg');</P> <P>// Free up memory<BR>imagedestroy($file);<BR>?>
Jednakże pliku także nie zapisuje. Zaznaczam, że nie jest to problem uprawnień zapisu na serwerze. Proszę o pomoc.