Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: odbicie obrazka
Forum PHP.pl > Forum > PHP
simemo
Witam

Chciałbym obrazek zapisany na serwerze wyświetlić, ale jako jego odbicie wzg. osi poziomej (pionowej). Czy ma ktoś pomysł jak to zrobić? Nie ważne czy to będzie odbicie generowane podczas zapisu, czy też podczas wyświetlania obrazka. Ważny jest efekt końcowy.

Pozdrawiam
mike
Znalazłem te dwie funkcjie w manualu ( LII. Image Functions ) w komentarzach użytkowników:

  1. <?php
  2. function image_flip_vertical( $im )
  3. {
  4. $x_i = imagesx( $im );
  5. $y_i = imagesy( $im );
  6.  
  7. $im_ = imagecreatetruecolor( $x_i, $y_i );
  8. for( $x = 0; $x < $x_i; $x++ )
  9. {
  10. for( $y = 0; $y < $y_i; $y++ )
  11. {
  12. imagecopy($im_, $im, $x_i - $x - 1, $y, $x, $y, 1, 1 );
  13. }
  14. }
  15. return $im_;
  16. }
  17.  
  18. function image_flip_horizontal( $im )
  19. {
  20. $x_i = imagesx( $im );
  21. $y_i = imagesy( $im );
  22.  
  23. $im_ = imagecreatetruecolor( $x_i, $y_i );
  24. for( $x = 0; $x < $x_i; $x++ )
  25. {
  26. for($y = 0; $y < $y_i; $y++)
  27. {
  28. imagecopy( $im_, $im, $x, $y_i - $y - 1, $x, $y, 1, 1 );
  29. }
  30. }
  31. return $im_;
  32. }
  33.  
  34. ?>


Mam nadzieję że naprowadzą Cię na rozwiązanie.
ennics
nie ma sensu się tak męczyć w php, jest wygodniejsze rozwiązanie:

  1. <img src="img.gif" style="Filter: FlipV">


zobacz tu:
http://www.fred.net/dhark/demos/css/css_filter_examples.html
mike
Cytat(ennics @ 2005-11-20 16:38:23)

Rozwiązanie obsługuje tylko badzIEwIE.
Nie ma czegoś takiego jak Filter w specyfikacji CSS.
ennics
nieprawda, inne jak to nazwałeś badzIEwiIE takie jak Netscape 7+ czy Opera 7+
także obsługują `filter`. Nie patrz na wszystko przez pryzmat firefox...
http://www.w3schools.com/dhtml/dhtml_css.asp
mike
Sprawdziłem Twoje rozwiązanie pod Operą 8.01, Firefoxem 1.0.4 i IE 6.0.

Zadziałało tylko pod IE.

Jesli rozwiązanie nie działa na dwóch z trzech wiodących przeglądarkach i nie ma go w specyfikacji to nie powinno się go stosować, no chyba ze chce się trafić na osiolki.net.

A poza tym nie jest to rozwiązanie w sytuacji kiedy byśmy chcieli taki obrazek zapisać na HDD (ale to już OT, bo o to autor nie prosi).
ennics
Jesli rozwiązanie nie działa na dwóch z trzech wiodących przeglądarkach i nie ma go w specyfikacji to powinno się zmienić specyfikację i zaimplementować jego obsługę. No chyba że się chce stać w miejscu i szukać dziury w całym.

Może trochę off topic, i nie po tej stronie przeglądarki, ale zwróć uwagę na specyfikację SQL99. Pomimo jasno określonych standardów języka, w interpretacjach takich jak Oracle czy MySQL powstają różne wariacje funkcji które podnoszą KONKURENCYJNOŚĆ produktu. I to tak naprawdę nakręca koniunkturę.

----edit----
W rzeczywistości każdy z nas ma rację, a duskusja, który ma racje bardziej a który mniej to gadanie typu: Moje kung-fu jest lepsze od Twojego kung-fu winksmiley.jpg Myślę że powinniśm juz skończyć OT'a, bo zbliżamy się do świętej wojny przeglądarek.
~mike_mech
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.