Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Problem z przezroczystością, PNG
MateuszS
post
Post #1





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Witam, mam do zrobienia znak wodny, mam go w PNG, za pomoca funkcji

  1. #
  2. #$obraz = imagecreatefromgif("5.jpg"); // glowny obrazek jeśli to gif
  3. #
  4. $obrazz = imagecreatefromjpeg($obrazek); // glowny obrazek jeśli to jpeg lub jpg
  5. #
  6. $dodawany = "images/logowatra.png"; // dodawany obrazek
  7. #
  8. $dodany = imagecreatefrompng($dodawany);
  9. #
  10. $x = 25; // współrzędna X nałożenia obrazka
  11. #
  12. $y = 20; // współrzędna Y nałożenia obrazka
  13. #
  14. $alfa = 70; // przezroczystość obrazka dodawanego
  15. #
  16. $polaczony = $name; // nazwa polaczonego obrazka
  17. #
  18. # $obraz = imagecreatefromjpeg("$calasciezka");
  19. #
  20. imagecopymerge($obrazz, $dodany, $x,$y, 0,0, 289,103, $alfa);
  21. #
  22. unlink($obrazek);
  23. imagejpeg($obrazz, $polaczony, 100);
  24. #
  25.  
  26. rename($name, $obrazek);
  27. #
  28.  


go wlepiam na moje jpgowe obrazki. Niestety efekt jest zly
(IMG:http://img215.imageshack.us/img215/2967/tulips.th.jpg)

jak widac napis jest na prostokacie bialym, ktorego ma nie byc ;/

prosze o pomoc, pozdrawiam

ps. obrazek png jest dobry
(IMG:http://img143.imageshack.us/img143/4244/logowatra.th.png)

Ten post edytował MateuszScirka 9.09.2009, 18:28:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
pablo89pl
post
Post #2





Grupa: Zarejestrowani
Postów: 143
Pomógł: 19
Dołączył: 7.09.2009
Skąd: Rzeszów

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


  1. imagecreatefromjpeg :)

zacznij od tego, png zamiast jpeg (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Fantazyn
post
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 38
Dołączył: 24.02.2007
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Ja zamiast funkcji
  1. imagecopymerge
stosuję

  1. imagecopy($image, $watermark, 0, 0, 0, 0, $watermark_width, $watermark_height);



Ps. A i nie jestem pewny, ale png musi być chyba 24 bit.
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




http://pl.php.net/imagecopymerge I pierwszy komentarz.
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #5





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Kombinujecie pod gorke.
Troche photoshopa, 5 min czasu i pozbadz sie
tla i bedzie po problemie.
A zeby nie bylo to zobacz :
http://www.bluelan.pl/przyklad_gd/
Laczone obrazki to :
http://www.bluelan.pl/przyklad_gd/logowatra.gif
http://www.bluelan.pl/przyklad_gd/5.jpg

Ten post edytował CyberDuck_ 10.09.2009, 14:34:32
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Nie pod górke tylko trzeba nauczyć się korzystać z GD i tyle. A jak przeczyta komentarz to będzie działało.
Właśnie używanie photoshopa jest pod górke.
Go to the top of the page
+Quote Post
MateuszS
post
Post #7





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Cytat
  1. [url=\"./Pobierz-Plik-158184.html\"]pobierz[/url], plaintext
    1. imagecreatefromjpeg :)
    [PHP] pobierz, plaintext
  2. zacznij od tego, png zamiast jpeg :)<!--QuoteEnd--></div><!--QuoteEEnd-->
  3.  
  4. Musialbym uzyc najpierw konwertera z jpeg na png z poziomu php. Jest jakas funkcja GD ktora to umozliwia?
  5.  
  6.  
  7.  
  8. Wookieb
  9.  
  10. jak
  11. [php]
  12. function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
  13. $opacity=$pct;
  14. // getting the watermark width
  15. $w = imagesx($src_im);
  16. // getting the watermark height
  17. $h = imagesy($src_im);
  18.  
  19. // creating a cut resource
  20. $cut = imagecreatetruecolor($src_w, $src_h);
  21. // copying that section of the background to the cut
  22. imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
  23. // inverting the opacity
  24. $opacity = 100 - $opacity;
  25.  
  26. // placing the watermark now
  27. imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
  28. imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);
  29. }


Moze mi pomoc?

Ten post edytował MateuszScirka 10.09.2009, 17:05:13
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #8





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Wiesz ile mi calosc zajela ? doslownie 5 min z wrzuceniem
na serwer jako przyklad ... Trzeba cos wiecej ?
  1. <?php
  2.  
  3. #$obraz = imagecreatefromgif("5.jpg"); // glowny obrazek jeśli to gif
  4. $obraz = imagecreatefromjpeg("5.jpg"); // glowny obrazek jeśli to jpeg lub jpg
  5. $dodawany = "logowatra.gif"; // dodawany obrazek
  6. $dodany = imagecreatefromgif($dodawany);
  7. $x = 50; // współrzędna X nałożenia obrazka
  8. $y = 45; // współrzędna Y nałożenia obrazka
  9. # $size[2] - typ pliku
  10. $alfa = 60; // przezroczystość obrazka dodawanego
  11. $polaczony = "nowy.jpg"; // nazwa polaczonego obrazka
  12. # $obraz = imagecreatefromjpeg("$calasciezka");
  13. @imagecopymerge($obraz, $dodany, $x,$y, 0,0, 289,102, $alfa);
  14. @imagejpeg($obraz, $polaczony, 100);
  15.  
  16. echo "<img src=\"$polaczony\">";
  17.  
  18. ?>


Obrazek zapisalem jako gif.
I napisze to co w innym temacie :
1500 postow przed moim i czytuje tylko madrowanie sie ...
Umiesz lepiej to podaj przyklad tak zeby dzialalo, a taki robaczek
jak ja to zrobil i to odrazu w pierwszym poscie.

Ten post edytował CyberDuck_ 10.09.2009, 17:13:52
Go to the top of the page
+Quote Post
wookieb
post
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(MateuszScirka @ 10.09.2009, 18:01:46 ) *
Musialbym uzyc najpierw konwertera z jpeg na png z poziomu php. Jest jakas funkcja GD ktora to umozliwia?

A czy nie możesz PO PROSTU PRZECZYTAĆ MANUAL?!

Cytat
Moze mi pomoc?

A Sam sobie umiesz pomoć?


Cytat(CyberDuck_ @ 10.09.2009, 18:12:15 ) *
Wiesz ile mi calosc zajela ? doslownie 5 min z wrzuceniem

Tak. Niech wszystko robią ludzie skoro może to zrobić maszyna i to 100 razy lepiej niż ty. A jak to ma robić automat? To będziesz prosił użytkownika o usuwanie tła? Sorry. Ale twój argument jest totalnie żałosny.
Cytat
I napisze to co w innym temacie :
1500 postow przed moim i czytuje tylko madrowanie sie ...

A ja takie posty widzę też 1500 razy. "W takich chwilach forum działa na mnie jak demotywator" (erix). Zamiast do jasnej cholery POCZYTAĆ. PODAJE LINK to k.... nie. Musi dop..... swoje własne głupoty.

  1. function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct)
  2. {
  3. $opacity=$pct;
  4. $w = imagesx($src_im);
  5. $h = imagesy($src_im);
  6.  
  7. $cut = imagecreatetruecolor($src_w, $src_h);
  8. imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
  9. $opacity = 100 - $opacity;
  10. imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
  11. imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);
  12. }
  13.  
  14. $obraz = imagecreatefromgif("slide.gif");
  15. $dodany = imagecreatefrompng('logowatra.png');
  16.  
  17. $x = 25; // wsp?rz?dna X na?o?enia obrazka
  18. $y = 20; // wsp?rz?dna Y na?o?enia obrazka
  19. $alfa = 70; // przezroczysto?? obrazka dodawanego
  20.  
  21. imagecopymerge_alpha($obraz, $dodany, $x,$y, 0,0, 289,103, $alfa);
  22.  
  23. imagejpeg($obraz, 'CZYTAC_MANUAL.jpg');
  24.  
  25.  


Czemu wy ludzie do cholery nie umiecię się nawet zastosować do JEDNEJ BANALNIE PROSTEJ rzeczy. Podaje link i małą podpowiedź "pierwszy komentarz". Czy to jest tak cholerna trudna czynność TO PRZECZYTAĆ, że wasze leniwe d... nie potrafią tego zrobić? A komentarz CyberDuck_ to przykład największej ignorancji, za który powinno się wywalać z forum.

Ten post edytował wookieb 10.09.2009, 18:04:33
Go to the top of the page
+Quote Post
MateuszS
post
Post #10





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Ten gif jest marnej jakosci ;/ Wyraznie widac roznice miedzy moim png wrzuconym a gifem.

PS Wookieb po co tyle nerwow? Nie mozna od razu podac gotowego rozwiazania? Po co ktos ma siedziec 2h na rozszyfrowywaniu kodu skoro moze to wytlumaczyc osoba ktora wie o co chodzi? Wtedy wszystko jest jasne i obie strony sa szczesliwe.

Ten post edytował MateuszScirka 10.09.2009, 19:24:29
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Nie mozna od razu podac gotowego rozwiazania? Po co ktos ma siedziec 2h na rozszyfrowywaniu kodu

Nie, nie można, bo się wszyscy wtedy rozleniwią. Co to za programista, któremu nawet nie chce się przewinąć nieco strony w manualu?

Cytat
Wtedy wszystko jest jasne i obie strony sa szczesliwe.

A nauka idzie w las, do następnego razu, gdy znowu zaczną się żebry o gotowca. Gdybyś chciał zauważyć, to dział gotowe rozwiązania jest nieco niżej, a m.in. w przedszkolu pomagamy, naprowadzamy, a nie rzucamy gotowcami. Była dyskusja na ten temat, myślenie nie boli i odrobina samodzielności jeszcze nikomu nie zaszkodziła.

Jak przechodzisz przez kurs na prawo jazdy, to po zdaniu egzaminu; w nieznanym mieście tez jeździsz z instruktorem?
Go to the top of the page
+Quote Post
MateuszS
post
Post #12





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Porównanie trafne aczkolwiek nieco inaczej bym to ujął.

Niech ten skrypt/metoda=cofanie pod górkę.
Jeździsz z instruktorem aż się nauczysz, potem już sam. Ja jestem na etapie jazdy z instruktorem na wstecznym pod górkę. Nauczę się tego a już będę taki skrypt pisał sam.
Go to the top of the page
+Quote Post
CyberDuck_
post
Post #13





Grupa: Zarejestrowani
Postów: 135
Pomógł: 15
Dołączył: 17.08.2009

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


Wiesz ten gif robilem na szybko i nie zalezalo mi
mocno na jakosci. Zrobilem go z tego wczesniejszego png
i zarazem troszke podciagnolem bo prawie wcale go nie bylo
widac, a przenikanie mozna sobie ustawic w skrypcie.
Jesli chcesz to tak czy tak bedziesz
musial sobie taki obrazek przygotowac w wysokiej jakosci
i rozdzielczosci czego nie rozumie zupelnie ten czlowiek (IMG:style_emoticons/default/biggrin.gif) :
Cytat
Tak. Niech wszystko robią ludzie skoro może to zrobić maszyna i to 100
razy lepiej niż ty. A jak to ma robić automat? To będziesz prosił
użytkownika o usuwanie tła?
Sorry. Ale twój argument jest totalnie żałosny.

Napisz mi skrypt, ktory zleje dwa w jeden tak zeby nie bylo
widac tla w tym nakladanym, a przybije Ci piatke i przyznam racje.
Taki obrazek tak czy tak trzeba sobie przygotowac wiec nie
rozumiem po co byly te nerwy ?
Zapewniam Cie, ze glowa nie boli przy mysleniu ... testowalem (IMG:style_emoticons/default/biggrin.gif)
Tak wiec nie wuytykaj mi tu ignoranctwem ...

Ten post edytował CyberDuck_ 10.09.2009, 20:53:51
Go to the top of the page
+Quote Post
wookieb
post
Post #14





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Cytat(CyberDuck_ @ 10.09.2009, 21:51:19 ) *
Napisz mi skrypt, ktory zleje dwa w jeden tak zeby nie byl
widac tla w tym nakladanym, a przybije Ci piatke i przyznam racje.

Gdybyś był na tyle inteligentny i tak samo bystry, jak ignorancki to byś zauważył, że ten oryginalny PNG nie miał żadnego tła.
A skrypt który podałem to właśnie czyni ( w tym przypadku) . Miszczu.

Ten post edytował wookieb 10.09.2009, 21:02:58
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jeździsz z instruktorem aż się nauczysz, potem już sam.

Właśnie - podstawy PHP już masz, a co z samodzielnym rozwiązywaniem problemów?

Cytat
Napisz mi skrypt, ktory zleje dwa w jeden tak zeby nie byl

No nie przesadzaj, wystarczy poszukać - znajdziesz dziesiątki stron, na których jest poruszony ten sam problem - zarówno w PHP, jak i w ImageMagick.

W związku z tym, że chyba lepsze bite niż proszone - zamykam. Trochę samodzielności, dostałeś już wystarczająco sporo na tacy.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 04:36