![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Chciałbym dodać swoje logo do obrazka uploadowanego na serwer ale wystąpił mały problem... Używam biblioteki GD v2 i dodając obrazek *.png na *.jpg nie działa mi skrypt... Wiem że tak nie powinno się robić ale nie mam innego sposobu. Nie chcę żeby obrazek który ma się znajdować na wrzuconym był z białymi "lukami" dlatego dałem png. Gdyby ktoś miał pomysł na to jak rozwiącać ten problem to proszę napisać. Pozdrawiam Piro |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 6 Dołączył: 30.06.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Pokaż ten skrypt, będzie łatwiej coś powiedzieć. Ogólnie w GD będzie ciężko zrobić obsługę przeźroczystości ale nie jest to niemożliwe.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
musisz najpierw w GD zmienic typ na png a nie tak po prostu sobie dodawac png na jpg...
-------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ogólnie w GD będzie ciężko zrobić obsługę przeźroczystości ale nie jest to niemożliwe. Bredzisz. PNG śmigają w GD aż miło. Działają przezroczystości i kanały alpha. Na localhoście mam wersję 2.0.28 i wszystko jest OK. @autor, musiałeś zrobić błąd w skrypcie. Wklej go tutaj, to pomożemy ![]() Ten post edytował sowiq 22.09.2008, 12:54:06 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
Bredzisz. PNG śmigają w GD aż miło. Działają przezroczystości i kanały alpha. Na localhoście mam wersję 2.0.28 i wszystko jest OK. @autor, musiałeś zrobić błąd w skrypcie. Wklej go tutaj, to pomożemy ![]() Zależy co chcesz zrobic, bo np. z rozmyciem w GD na przezroczu moze byc ciezko... -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 6 Dołączył: 30.06.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Sowiq przeczytaj dokładniej posta. On nie robi PNG tylko nakłada PNG na JPGa a w JPGu przeźroczystości nie znajdziesz (poza JPEG 2000). Kiedyś coś takiego robiłem i trochę kombinacji wymagało takie połączenie żeby na JPG skopiować PNG z wykasowaniem tła PNG.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Autor napisał:
Cytat Chciałbym dodać swoje logo do obrazka uploadowanego na serwer [...] Odpowiadałem na temat, więc brałem pod uwagę takie zastosowanie.@delfinium, przeczytałem dokładnie. Ty powinieneś zrobić to chyba jeszcze raz ![]() Ten post edytował sowiq 22.09.2008, 13:00:53 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
@delfinium, ale autor nie mowil że ma to byc zapisane właśnie w JPG, więc łatwiej zmienic format na png i robic na png które obsługuje kanał alpha
Edit: jeśli nie ma potrzeby by były miejsca z przeźroczystością(mamy obraz jpg i chcemy zapisac na niego obrazek z przeźroczystoscia ale na koncowym obrazku nie musi byc miejsc przezroczystych) to mozna w jpg zapisac - konwersja na png, nalozenie obrazka,(tutaj nie wiem, moze bedzie potrzeba zapisac to do "cache", otworzyc i wykasowac) i konwersja do jpg Ten post edytował dadexix 22.09.2008, 13:02:45 -------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 6 Dołączył: 30.06.2007 Skąd: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
@Dadexix - zgadza się, to chyba najłatwiejsze rozwiązanie. Ale ja brałem pod uwagę kwestię dokładnie tak jak to autor posta napisał i wiem, że takie coś jest możliwe - lecisz po każdym pixelu PNG i sprawdzasz czy jest ustawiony kanał alpha (lub jest to kolor jaki chcesz wyrzucić + jakaś tolerancja ) i w to miejsce wkładasz pixel z JPGa, ale i tak to najlepiej nie wychodzi, krawędzie czasem są poszarpane i dla dużych rozmiarów PNG to wymaga trochę obliczeń.
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ehh...
Przykład: http://www1.istockphoto.com/file_thumbview...strike-road.jpg Umieszczenie logo zapisanego do PNG na obrazek JPG w prawym, dolnym rogu (zakładamy, że logo jest mniejsze od fotki):
Można? Po cholere sobie życie komplikować, jak można robić coś szybciej i lepiej? [edit] A literówki porobił mechanizm forum :] Ten post edytował sowiq 22.09.2008, 13:09:54 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oto skrypt:
W następnym poście cd... Jeżeli któreś zmienne potrzebują objaśnienie to proszę pytać... $userdata['username'] - trzyma nazwę użytkownika pobraną z phpbb $f - kolejna liczba która ma zostać przypisana folderowi CD.. skryptu
To jest tylko fragment odpowiedzialny za tworzenie i dodawanie loga...
To już koniec... jeżeli ktoś chce zobaczyć cały to proszę powiedzieć to gdzieś go udostępnie... |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
No kolego... Jak Ty robisz
a kilka linijek dalej:
to się nie dziw, że nie działa ![]() |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 5.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Pisałem ten skrypt od początku ale nie mam pojęcia jak ma się $y do zdjęcia (oprócz tego że to stosunek boków)?
i gdzie mam header wstawić bo przyznam się że w GD siedzę dopiero od tygodnia... ________________________________________________________________________________ DODANE: Już problem rozwiązany... nie był on w skrypcie z obrazkiem tylko w skrypcie przenoszącym ten obrazek do innego folderu (przenosił starą wersję jeszcze przed naniesieniem png)... sowiq masz + (za zmuszenie do myślenia) Ten post edytował Piro 22.09.2008, 19:29:20 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 890 Pomógł: 339 Dołączył: 14.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przyjrzyj się na kod, który wkleiłem kilka postów wcześniej. Jeśli wrzucisz to do funkcji, usuniesz header(...) i zamiast imagejpeg( $image2, '', 95 ) dasz imagejpeg( $image2, $sciezka, 95 ) to pod ścieżką $sciezka będziesz miał zapisany obrazek JPG z nałożonym logo.
Jeśli do tego dorzucisz kawałek kodu odpowiedzialny za zmianę rozmiaru, to masz już wszystko, co Ci potrzebne ![]() Powodzenia ![]() [edit] czyli nieaktualne już Ten post edytował sowiq 22.09.2008, 19:32:07 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 06:12 |