Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przeźroczystość
daniel1302
post
Post #1





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Witam, mam taki kod:
  1. //Generuj obrazek wysokiej jakości
  2. $image = imagecreatetruecolor(1000, 200);
  3.  
  4.  
  5. //Wyłącz kanał alpha
  6. imagealphablending($image, false);
  7. //Ustaw przeźroczystość- alpha
  8. $trans = imagecolorallocatealpha($image, 128, 128, 128,127);
  9. //Nadaj przeźroczyste tło
  10. imagefill($image, 0, 0, $trans);
  11. //Zapisz tło
  12. imagesavealpha($image, true);
  13. //Włącz obsługę alpha
  14. imagealphablending($image, true);


I mam problem, co mam zrobić aby w IE 6 wyświetlał się ten obrazek jako przeźroczysty?
Go to the top of the page
+Quote Post
Smertius
post
Post #2





Grupa: Zarejestrowani
Postów: 156
Pomógł: 31
Dołączył: 23.02.2009
Skąd: Sanok

Ostrzeżenie: (0%)
-----


Nic nie zrobisz bo IE6 nie obsługuje przeźroczystości. Możesz jedynie spróbować ją imitować na przykład tak
Go to the top of the page
+Quote Post
batman
post
Post #3





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Możesz też zrobić tak. Sposób o tyle lepszy, że wykorzystuje natywne funkcje IE.
Go to the top of the page
+Quote Post
daniel1302
post
Post #4





Grupa: Zarejestrowani
Postów: 602
Pomógł: 30
Dołączył: 1.08.2007
Skąd: Nowy Sącz

Ostrzeżenie: (0%)
-----


Dzięki ale mam rozwiązanie
  1. //Rozpoznanie przeglądarki
  2. if (!isset($_SESSION['window']) && strstr($_SERVER['HTTP_USER_AGENT'], 'MSIE'))
  3. $_SESSION['window'] = 1;
  4.  
  5.  
  6. if (isset($_SESSION['window']))
  7. {
  8. //Generuj obrazek wysokiej jakości
  9. $image = imagecreatefrompng('./../images/logo-prawa-cytaty.png');
  10. }
  11. else
  12. {
  13. $image = imagecreatetruecolor(1000, 200);
  14. //Wyłącz kanał alpha
  15. imagealphablending($image, false);
  16. //Ustaw przeźroczystość- alpha
  17. $trans = imagecolorallocatealpha($image, 128, 128, 128,127);
  18. //Nadaj przeźroczyste tło
  19. imagefill($image, 0, 0, $trans);
  20. //Zapisz tło
  21. imagesavealpha($image, true);
  22. //Włącz obsługę alpha
  23. imagealphablending($image, true);
  24. }
  25.  


Zrobiłem kopię tła DIVa w którym znajduje się obrazek i jeśli jest to IE to ładuję go a jeśli inna przeglądarka to nic nierobię, żaden sposób niedziała na dynamiczne ładowanie obrazków za pomocą biblioteki PHP bo obrazek ma rozszeżenie PHP a nie PNG
Go to the top of the page
+Quote Post
vokiel
post
Post #5





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


Użyj rozszerzenia .png a w mod_rewrite przepisz to sobie na php.

BTW: przezroczystość nie przeźroczystość
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 20:39