Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: przezroczystosc obrazka
Forum PHP.pl > Forum > PHP
kasiunia
Mozna ustawiac kolor, ktory ma byc przezroczysty za pomoca np. imagegif(), ale jak rozpoznac ten kolor? W skrocie, co zrobic, aby obrazek wyswietlal sie w oryginalnej wersji, gdy wyswietlam go za pomoca php?
Kildyt
Ehh popraw tytuł bo moderator Ci topic zablokuje. Napisz to normalnie bo trduno coś zrozumieć. Chodzi Ci o przezroczystość?

Używaj png:
+ Mały rozmiar
- IE 6.0 nie wspiera przezroczystości w PNG

Używaj gif:
+ Wszystkie znane przeglądarki obsługują przezroczystosć w GIF
- Duży rozmiar
kasiunia
co jest zlego w tytule?

"W skrocie, co zrobic, aby obrazek wyswietlal sie w oryginalnej wersji (z przezroczystoscia oryginalna), gdy wyswietlam go za pomoca php?". Jest obrazek z przezroczystoscia, i teraz np. zmieniam jego rozmiary za pomoca imagecopyresampled(). Po zmienieniu romiarow, prezroczystosc zmienia sie na kolor czarny (czyli nie ma juz przezroczystosci). funkcja imagecolortransparent moge ustawic kolor, ktory ma byc prezroczysty. no ale jezeli ustawie czarny, to moga zniknac czarne elementy obrazka, niekoniecznie te, ktore mialy byc przezroczyste...
Michal2000
Cytat(kasiunia @ 27.03.2007, 13:04:37 ) *
to moga zniknac czarne elementy obrazka, niekoniecznie te, ktore mialy byc przezroczyste...


No nie do końca, GIF przezroczyste tło, zapisuje jako jeden kolor (np czarny), a potem dodaje informacje, o tym jaki kolor jest przezroczysty. GD nie pobiera tej informacji, o tym który kolor jest przezroczysty, dlatego wyświetla go normalnie (jako czarne tło), i za pomocą funkcji GD, jak dodasz informacje, o przezroczystym tle, zmieni sie tylko jeden kolor. Inne czarne elementy pewnie sa ustawione na R:1 G:1 B:1 a nie na R:0 G:0 B:0.
kasiunia
no chyba jednak nie. stworzylam obrazek z przezroczystym tlem, a w obrazku byl miedzy innymi kolor czarny 0,0,0. Ustawiajac kolor przezroczystosci za pomoca imagecolortransparent() na 0,0,0, zniknela takze ta czesc obrazka, ktora zniknac nie miala...

poza tym, jezeli obrazek w ogole nie bedzie przezroczysty, a bedzie zawietal kolor czarny, to i tak czarne elementy stana sie przezroczyste...
Michal2000
Cytat(kasiunia @ 27.03.2007, 13:19:55 ) *
no chyba jednak nie. stworzylam obrazek z przezroczystym tlem, a w obrazku byl miedzy innymi kolor czarny 0,0,0. Ustawiajac kolor przezroczystosci za pomoca imagecolortransparent() na 0,0,0, zniknela takze ta czesc obrazka, ktora zniknac nie miala...

poza tym, jezeli obrazek w ogole nie bedzie przezroczysty, a bedzie zawietal kolor czarny, to i tak czarne elementy stana sie przezroczyste...


a gdy próbujesz wyświetlić obrazek, bez ustawiania przezroczystości, tło ma taki sam kolor jak inne czarne elementy?
kasiunia
tak


funkcja imagecolortransparent() zwraca np. wartosc 249, gdy nie ustalimy w niej drugiego parametru. Co ten numer oznacza?
misiek172
Cytat(Kildyt @ 27.03.2007, 06:19:23 ) *
Używaj png:
+ Mały rozmiar
- IE 6.0 nie wspiera przezroczystości w PNG


Jeśli chodzi o drugi punkt to istnieje skrypt w JavaScript (sam z niego korzystam) , który sprawia, iż IE w magiczny sposób zaczyna bez problemu obsługiwać przeźroczystość w PNG smile.gif

I poza tematem takie info: PNG to wersja druga GIF
kasiunia
naprawde nikt nie wie jak rozwiazac ten problem? sad.gif
mike
~kasiunia a czy tak trudno przeczytać sobie dokumentację? Nie ma co sie dziwić że nikt nie chce Ci pomóc, bo nikomu nie chce się robić za jelenia, który poda Ci na tacy to, czego Tobie przez lenistwo nie chce się zrobić samej.

imagecolortransparent()
Cytat
Zwracane wartości
The identifier of the new (or current, if none is specified) transparent color is returned.
kasiunia
po pierwsze, kto zezwolil ci na obrazanie mnie od leniow? cos ci sie w glowce poprzewracalo? myslisz, ze tego nie czytalam? identyfikator nowego koloru o wartosci 249, super, tylko co to oznacza? po drugie, jak to sie ma do mojego problemu? cytujac twoje slowa, jesli ju robisz za "jelenia", to przynajmniej rob to w jakims celu, a nie zeby obrazic i powymadrzac sie.
misiek172
niewiem czy nie zrozumiałaś ale mike_mech nie obraził Cię tylko wytłumaczył dlaczego tak opornie idzie ludziom z rozwiązywaniem tego problemu. Po 2 w manualu masz przykłady jak niewiesz jak to zastosować. A jak nie umiesz angielskiego to polecam www.dict.pl smile.gif
kasiunia
misiek172, wybacz, ale nie zycze sobie, aby jakis michal mech mowil o moim lenistwie, skoro ani troche mnie nie zna i nie wie, co robie. akurat manuala czytam i gdybym umiala rozwiazac moj problem, to bym tutaj nie pisala. pytam co oznacza ten identyfikator, a on mi wkleja fragment manuala, mowiac o moim lenistwie, kiedy sam chyba nie raczyl przeczytac glownego watku tego tematu.
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.