![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 17.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, jak w temacie, chodzi mi o stworzenie skryptu dzieki ktoremu uzyskal bym przejscie między dwoma zdjęciami przy użyciu gd...
macie jakies pomysły ? jedyne co przychodzi mi do glowy to stopniowe nakladanie transparentu z jednej strony zdjecia do polowy, i tak przygotowane zdjecie nalozyc na kolejne. Kwestia jak to zrobic ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
W takim razie więc:
1. Stwórz obraz o ostatecznej wielkości. 2. Skopiuj na niego obrazek A 3. Ustaw alpha blending na true 4. Dla obrazka B znajdź część wspólną obrazka A i B (100px) oraz w skrypcie ustaw odpowiednio wartości dla alpha przeliczając sobie. 5. Skopiuj na wynikowy obrazek ten fragment. 6. Wyłącz alpha blending 7. Skopiuj pozostałą część obrazka B na wynikowy. 8. Zapisz plik. 9. Jeśli nie zadziała to sprawdź czy aby kanałem alpha nie trzeba się zabawić poprzez imagesavealpha. Tak minimalizujesz obniżenie wydajności poprzez operację tylko dla części wspólnej obu. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 17.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
W takim razie więc: 1. Stwórz obraz o ostatecznej wielkości. 2. Skopiuj na niego obrazek A 3. Ustaw alpha blending na true 4. Dla obrazka B znajdź część wspólną obrazka A i B (100px) oraz w skrypcie ustaw odpowiednio wartości dla alpha przeliczając sobie. 5. Skopiuj na wynikowy obrazek ten fragment. 6. Wyłącz alpha blending 7. Skopiuj pozostałą część obrazka B na wynikowy. 8. Zapisz plik. 9. Jeśli nie zadziała to sprawdź czy aby kanałem alpha nie trzeba się zabawić poprzez imagesavealpha. Tak minimalizujesz obniżenie wydajności poprzez operację tylko dla części wspólnej obu. Jak napisaleś tak 'prawie' zarobilem (IMG:style_emoticons/default/biggrin.gif) Po pierwsze robie to w 2 krokach: 1. Na pierwszy obrazek nakładam maskę z gradientem biało -> czarnym - i na podstawie maski wyliczany jest narastajacy transparent 2. Na drugi obrazek nakladam odwrotną maskę. 3. Składam dwa odpowiednio przygotowane obrazki w jeden, z tym że mam jedna uwage, alpha blending musi byc ustawiona na false. przykładowy kod (nie mój) nakładajacy maske na obrazek:
Z nakładanie fotek chyba sobie poradzicie. A tu mam pytanie do znawców imagemagick: jest to kod ktory powinien robic dokladnie to co bylo opisane wyzej, z ta roznica ze w 2 linijkach. Kod jest skopiowany z manuala, zmienilem tylko nazwy plikow, pytanie brzmi: dlaczego to nie dziala?
Duże podziękowania dla thek! (IMG:style_emoticons/default/smile.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 13:31 |