Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: cały serwis w kolorze czarno-białym, jak to szybko zrobic?
Forum PHP.pl > Forum > Przedszkole
polm83
Witam.
Mam taki problem, prowadzę stronę WWW, strona jest oczywiście w kolorze i składa się z CSS'ow, obrazków JPG, animacji Flash.
I tu mam problem, chciałbym w szybko sposób zrobić aby strona była wyświetlana w kolorze czarno białym, czyli w odcieniach szarości.
Czy jest jakiś szybki sposób na to?
Bo raczej nie uśmiecha mi się przerabianie każdego JPG'a i Flasha na odcienie szarości sad.gif

Proszę o szybką pomoc, ponieważ to pilne.
Pozdrawiam i z góry dzięki.

PS. a jakby nie było to proszę o jakiś skrypcik zmieniający JPG na odcienie szarości.

PS2. a jak ktoś ma taki skrypcik, który hurtowo ( z całego katalogu ) zamienia jpg'i na odcienie szarości.
kosheen2k
Wiem że w śmIErci jest cos takiego jak filtr o nazwie gray.

do CSS dopisujesz w body:

body {
...
filter: gray;
...
}

i to wszystko strona robi sie w odcieniach szarosci automagicznie.
Tylko raz ze jest to nie zgodne z XHTML a dwa dziala chyba tylko w IE.

Pozdrawiam
nexis
Poniższy skrypt zamienia kolorowy JPG w czarno-biały:

  1. <?php
  2. $im = imagecreatefromjpeg('image.jpg');
  3. if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
  4.  echo 'Image converted to grayscale.';
  5.  imagejpeg($im, 'image.jpg');
  6. } else {
  7.  echo 'Conversion to grayscale failed.';
  8. }
  9.  
  10. imagedestroy($im);
  11. ?>


A ten wyświetla wszystkie pliki w danym katalogu:

  1. <?php
  2. if ($handle = opendir('.')) {
  3.  while (false !== ($file = readdir($handle))) {
  4.  if ($file != "." && $file != "..") {
  5.  echo "$file<br />";
  6.  }
  7.  }
  8.  closedir($handle);
  9. }
  10. ?>


Więc wystarczy je połączyć i masz czego szukasz:

  1. <?php
  2. if ($handle = opendir('.')) {
  3. while (false !== ($file = readdir($handle))) {
  4. if ($file != "." && $file != "..") {
  5. $ext = end(explode('.', $file));
  6. if ($ext == 'jpg' || $ext == 'jpeg') {
  7. $im = imagecreatefromjpeg($file);
  8. if ($im && imagefilter($im, IMG_FILTER_GRAYSCALE)) {
  9. echo $file.' (OK)<br />';
  10. imagejpeg($im, null, 100);
  11. $image_buffer = ob_get_contents();
  12. $fp = fopen($file, 'wb');
  13. fputs($fp, $image_buffer);
  14. fclose($fp);
  15. } else {
  16. echo 'Conversion to grayscale failed.';
  17. }
  18. imagedestroy($im);
  19. }
  20. }
  21. }
  22. closedir($handle);
  23. }
  24. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.