Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Coś ala znak wodny
Gray
post
Post #1





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


Witam, czy ktoś tutaj wie jak najprościej zrobić taki "znak wodny" jak ma kwejk.pl? Normalnie na ich stronie zdjęcia wyświetlają się bez niego ale po kliknięciu prawym/pokaż obrazek na samym dole obrazka pojawia się biały pasek i adres strony kwejk.pl

Pozdrawiam.
Go to the top of the page
+Quote Post
luck
post
Post #2





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Poszukaj sobie czegoś na temat "php watermark", jest tego sporo. Wszystkie wrzucane obrazki mają nakładany znak wodny, tyle że są tak ostylowane przez CSS, że na stronie po prostu tego nie widać - zasłania go czarna warstwa z przyciskiem Facebooka.
PS. A precyzyjniej mówiąc taki obrazek ma nadany styl "margin-bottom: -40px;"

Ten post edytował luck 13.09.2011, 20:10:43
Go to the top of the page
+Quote Post
Gray
post
Post #3





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


Szukałem szukałem, znalazłem i w sumie tymczasowo zrobiłem taki pseudo watermark czyli dodaje mi watermark poprzez php... ale oglądając obrazek całkowicie z source to jest bez watermarka... ciężko o jakiś dobry tutorial dla nowych w php, może coś polecisz na dodawanie watermarka tak jak np. na kwejku czyli na stałe na obrazek? z tym marginem sobie poradzę (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tehaha
post
Post #4





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


przecież w sieci jest tego pełno, nie tylko tutoriale ale nawet gotowe kody i gotowe klasy, które to robią więc czego Ci jeszcze brakuje?

http://www.google.pl/#hl=pl&sugexp=gsi...600&bih=750

http://www.google.pl/#sclient=psy-ab&h...600&bih=750

@DOWN ale przecież tego jest sporo są i tak z opisem tylko trochę poszukaj, ponadto pewnie nie znajdziesz takiego gdzie będzie linijka po linijce opisany kod, bo od tego jest manual, sprawdź sobie każdą funkcję w manualu i będziesz wiedział jak to działa

Ten post edytował tehaha 13.09.2011, 21:22:21
Go to the top of the page
+Quote Post
Gray
post
Post #5





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


No tak ale część z nich to tylko sam kod bez wyjaśnienia jak go zaaplikować a druga część to właśnie takie watermarki jak ja już zrobiłem czyli obrazek ma watermark ale tylko jeśli przechodzi przez konkretny plik PHP np.:

/wm.php?src=images/obrazek.jpg blablabla

a po skasowaniu tego "wm.php?src=" jest już bez watermarku.
Go to the top of the page
+Quote Post
luck
post
Post #6





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Zamiast wstawiać to /wm.php?src=images/obrazek.jpg za każdym razem do źródła strony, zapisz sobie, np. podczas uploadu gotowy obrazek z watermarkiem i tego adresu używaj - o wiele szybsze/bardziej wydajne. Ew. robisz w bazie tabelę w której trzymasz URL obrazka i jakiś losowy hash. Wtedy wywołujesz obrazek tak:
Kod
/wm.php?src=85389583fac64c...

i już w skrypcie do nakładania znaków wodnych pobierasz z bazy właściwy adres obrazka. Moim zdaniem powinieneś jednak wybrać wersję nr 1.
Go to the top of the page
+Quote Post
Gray
post
Post #7





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


Dzięki luck ale ja juz mam to zrobione z automatu... jednak nie w tym rzecz. Dodawany w ten sposób watermark nie jest na stałe, nie idzie zapisać obrazka na komputer tak, aby był on z watermarkiem.
Go to the top of the page
+Quote Post
luck
post
Post #8





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

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


Cytat(Gray @ 14.09.2011, 16:23:01 ) *
Dodawany w ten sposób watermark nie jest na stałe, nie idzie zapisać obrazka na komputer tak, aby był on z watermarkiem.

Idzie, wystarczy zajrzeć do skryptu który masz i go trochę przerobić, żeby zamiast wyświetlać plik zapisywał go na dysku. Jeśli chcesz gotowca typu kopiuj/wklej to raczej marne szanse.
Go to the top of the page
+Quote Post
Gray
post
Post #9





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


Mój kod uploadu obrazka wygląda tak:

CODE
//UPLOAD OBRAZKA
$sp1 = explode(".",($_FILES['obrazek']['name']));
if($sp1[1] == "gif" or $sp1[1] == "jpg" or $sp1[1] == "JPG" or $sp1[1] == "GIF" or $sp1[1] == "jpeg" or $sp1[1] == "JPEG" or $sp1[1] == "png" or $sp1[1] == "PNG")
{
$data_img=date('dmYHis');
$uploaddir = 'img/upload/'.$data_img.'-';
$_FILES['obrazek']['name'] = przyjazny_string($_FILES['obrazek']['name']);
if(move_uploaded_file($_FILES['obrazek']['tmp_name'], $uploaddir.$_FILES['obrazek']['name']))
{
//Zmiana rodzielczości obrazka
if($sp1[1] != "gif" AND $sp1[1]!= "GIF") {
$image = new SimpleImage();
$image->load($uploaddir.$_FILES['obrazek']['name']);
if($image->getWidth() > 670) {
$image->resizeToWidth(670);
$image->save($uploaddir.$_FILES['obrazek']['name']);
}
else { //Zmiana wielkości do tego samego rozmiaru ale z kompresją
$image->resizeToWidth($image->getWidth());
$image->save($uploaddir.$_FILES['obrazek']['name']);
}
}
//////////////////////////////
$obrazek='img/upload/'.$data_img.'-'.$_FILES['obrazek']['name'];
$tytul=htmlspecialchars($_POST['tytul']);
$zrodlo=htmlspecialchars($_POST['zrodlo']);
$autor=$_SESSION['login'];
$data=date('Y-m-d H:i:s');

$zapytanie = "INSERT INTO `shity` (`id`, `tytul`, `obrazek`, `zrodlo`, `autor`, `data`, `typ`) VALUES ('', '$tytul', '$obrazek', '$zrodlo', '$autor', '$data', 'obrazek')";
$wykonaj = mysql_query($zapytanie);
echo '<b>Obrazek został pomyślnie dodany!</b><br/>
<a href="index.php">&laquo; Strona Główna</a>';
}
else {
echo '<b>Wystąpił błąd podczas dodawania obrazka.</b><br>';
echo '<a href="dodaj.php">&laquo; Powrót</a>';
}
}
else {
echo '<b>Nie wybrano żadnego obrazka bądź jego format jest niedozwolony!</b><br/><a href="dodaj.php">&laquo; Powrót</a>';
}
//KONIEC UPLOAD OBRAZKA


Chcę do niego wsadzić to:

CODE
<?php

header('content-type: image/jpeg');

$watermark = imagecreatefrompng('watermark.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefromjpeg($_GET['src']);
$size = getimagesize($_GET['src']);
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100);
imagejpeg($image);
imagedestroy($image);
imagedestroy($watermark);
?>



Czy ktoś może to dla mnie polączyć i napisać mniej więcej co zrobił, tak abym to zrozumiał?

Pozdrawiam.

Ten post edytował Gray 21.09.2011, 19:26:10
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




No i super. A teraz zajrzyj do manuala i zobacz co robi funkcja
imagejpeg()
a dowiesz się jak zapisać na dysk.
Go to the top of the page
+Quote Post
Gray
post
Post #11





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


nospor, wyczytałem w manualu jak zapisać imagejpeg()... ale to nie to...

Przerabiam gotowy skrypt dodawania obrazka czyli ten:

Kod
//UPLOAD OBRAZKA
$sp1 = explode(".",($_FILES['obrazek']['name']));
if($sp1[1] == "gif" or $sp1[1] == "jpg" or $sp1[1] == "JPG" or $sp1[1] == "GIF" or $sp1[1] == "jpeg" or $sp1[1] == "JPEG" or $sp1[1] == "png" or $sp1[1] == "PNG")
{
$data_img=date('dmYHis');
$uploaddir = 'img/upload/'.$data_img.'-';
$_FILES['obrazek']['name'] = przyjazny_string($_FILES['obrazek']['name']);
if(move_uploaded_file($_FILES['obrazek']['tmp_name'], $uploaddir.$_FILES['obrazek']['name']))
{
//Zmiana rodzielczości obrazka
if($sp1[1] != "gif" AND $sp1[1]!= "GIF") {
$image = new SimpleImage();
$image->load($uploaddir.$_FILES['obrazek']['name']);
if($image->getWidth() > 670) {
$image->resizeToWidth(670);
$image->save($uploaddir.$_FILES['obrazek']['name']);
}
else { //Zmiana wielkości do tego samego rozmiaru ale z kompresją
$image->resizeToWidth($image->getWidth());
$image->save($uploaddir.$_FILES['obrazek']['name']);
}
}
//////////////////////////////
$obrazek='img/upload/'.$data_img.'-'.$_FILES['obrazek']['name'];
$tytul=htmlspecialchars($_POST['tytul']);
$zrodlo=htmlspecialchars($_POST['zrodlo']);
$autor=$_SESSION['login'];
$data=date('Y-m-d H:i:s');

$zapytanie = "INSERT INTO `shity` (`id`, `tytul`, `obrazek`, `zrodlo`, `autor`, `data`, `typ`) VALUES ('', '$tytul', '$obrazek', '$zrodlo', '$autor', '$data', 'obrazek')";
$wykonaj = mysql_query($zapytanie);
echo '<b>Obrazek został pomyślnie dodany!</b><br/>
<a href="index.php">? Strona Główna</a>';
}
else {
echo '<b>Wystąpił błąd podczas dodawania obrazka.</b><br>';
echo '<a href="dodaj.php">? Powrót</a>';
}
}
else {
echo '<b>Nie wybrano żadnego obrazka bądź jego format jest niedozwolony!</b><br/><a href="dodaj.php">? Powrót</a>';
}
//KONIEC UPLOAD OBRAZKA


I chcę aby podczas powyższego uploadu obrazka dodatkowo był dodawany do niego watermark. Dlatego proszę aby ktoś pomógł mi i umieścił w tym kodzie, który zamieściłem powyżej najprostszy skrypt na watermarka jaki jest możliwy ja sobie go przeanalizuję i w miarę potrzeb zmodyfikuję.

Pozdrawiam.

Ten post edytował Gray 22.09.2011, 12:01:45
Go to the top of the page
+Quote Post
phpion
post
Post #12





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Proszę o objęcie wklejonych źródeł bbcode odpowiednim dla języka kodu. Pogrubienia w wypowiedziach wydają się zbędne - proszę je usunąć.
Go to the top of the page
+Quote Post
Gray
post
Post #13





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


dzięki za pomoc... phpion...
Go to the top of the page
+Quote Post
szczawik
post
Post #14





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 19.08.2010

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


A jak rozwiązać taki problem:
Standardowe "Zapisz jako" zapisuję z watermarkiem, a kliknięcie przycisku 'pobierz' bez?
Go to the top of the page
+Quote Post
Gray
post
Post #15





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


No i gdzie mi temat zaśmiecasz... niech najpierw mi pomogą... chociaż w to wątpię...
Go to the top of the page
+Quote Post
tehaha
post
Post #16





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


Cytat
No i gdzie mi temat zaśmiecasz... niech najpierw mi pomogą... chociaż w to wątpię...
Po takich wypowiedziach od razu widać, że jesteś jakimś dzieciakiem, który nauczył się, że się wszystko dostaje na zawołanie, gdybyś wykazał chociaż odrobinę własnej inicjatywy to już byś to dawno miał gotowe, Ty tylko szukasz murzyna, który odwali to za Ciebie. Watermark to jeden z najbardziej podstawowych i oklepanych tematów, w necie jest pełno tutoriali i gotowych skryptów. W czym mamy Ci pomóc skoro nie pokazałeś jak łączysz te skrypty? Jak czekasz na gotowca to czekaj dalej.
Go to the top of the page
+Quote Post
Gray
post
Post #17





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


Nie, nie widać po tym, że jestem dzieckiem ale za to po tym co Ty napisałeś widać, że jesteś kolejnym cool gościem co włazi na forum żeby błyszczeć i pouczać zamiast pomagać.

Piszesz, że to takie proste to trzeba było mi pomóc a nie się mądrzyć. Przeszukałem internet i nie znalazłem tutoriala który by mi pokazał jak mogę wlepić skrypt watermarka do przerabianego przeze mnie skryptu. Sam też podejmowałem wiele prób zintegrowania go ale niestety niewiele zdziałałem drogą dedukcji.

Dlatego podałem CAŁY fragment mojego kodu dodającego obrazek oraz kod dodawania watermarka i poprosiłem aby ktoś mi pokazał jak je połączyć, czy to zbyt mało inicjatywy wg Ciebie? Jeśli wymagasz abym to zrobił sam, to całe to forum jest zbędne bo informacja o istnieniu google wbrew Twoim przekonaniom jest powszechnie znana.

Aha i mam 25 lat, nie życzę sobie aby uniesiony dumą tehaha nazywał mnie dzieciakiem. Nie chcesz pomagać to tutaj nie zaglądaj.

Ten post edytował Gray 25.09.2011, 20:17:53
Go to the top of the page
+Quote Post
tehaha
post
Post #18





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


- Jeżeli przejrzysz forum to zauważysz, że tutaj bardzo chętnie się pomaga ludziom, ale tylko wtedy jeżeli ktoś wykazuje wkład własny, a nie samo "tutaj macie 2 skrypty, weźcie je połączcie i powiedzcie jak to zrobiliście"
- Skoro próbowałeś na tyle razy to łączyć oraz sprawdzałeś tyle tutoriali w necie to dlaczego nie wkleiłeś tutaj ani jednej swojej próby? Gdybyś pokazał jak próbujesz to łączyć to byś dostał wskazówki dlaczego to nie działa. Przeanalizowałeś chociaż ten skrypt? sprawdziłeś każdą funkcję w manualu?
- Ty mylisz pojęcia - pomóc komuś to nie znaczy zrobić coś za kogoś

Cytat
widać, że jesteś kolejnym cool gościem co włazi na forum żeby błyszczeć i pouczać zamiast pomagać.
pod liczbą moich postów jest taki licznik "Pomógł", która wskazuje ile razy pomogłem komuś rozwiązać problem, tylko widzisz ja pomagam tylko tym, którzy coś z siebie dają

Cytat
Aha i mam 25 lat, nie życzę sobie aby uniesiony dumą tehaha nazywał mnie dzieciakiem. Nie chcesz pomagać to tutaj nie zaglądaj.
Aż ciężko uwierzyć (IMG:style_emoticons/default/tongue.gif) Ale jeżeli tak jest to współczuje Ci tak małego zapału do pracy i tak mało wytrwałości przy wyzwaniach w tym wieku

Zobacz odpalasz Google i masz gotowe już skrypty, które robią dokładnie to co potrzebujesz, nie wierzę, że próbowałeś już wszystkie z nich, więc powiedz mi dlaczego ktoś ma siedzieć i robić specjalnie dla Ciebie coś co jest dostępne na wyciągnięcie ręki?

http://911-need-code-help.blogspot.com/200...th-another.html
http://x10hosting.com/forums/tutorials/108...-using-php.html
http://www.knowledgesutra.com/forums/topic...ple-php-script/
http://www.weberdev.com/get_example.php3?ExampleID=4640
Go to the top of the page
+Quote Post
Gray
post
Post #19





Grupa: Zarejestrowani
Postów: 127
Pomógł: 0
Dołączył: 5.04.2010

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


Ty mnie chyba nadal nie rozumiesz, ja nie znam na tyle dobrze PHP aby to zrobić, a to że Ty mi pokazujesz gotowe skrypty w google nic mi nie daje... sam je znalazłem ale nie wiem jak je połączyć z tym skryptem który edytuję.

To co ja robiłem próbując łączyć te 2 skrypty było czysto przypadkowe i raczej niewiele tam było trafnych zmian więc nie ma sensu żebym to pokazywał. A już nie raz tutaj ktoś wspomniał, że to jest takie proste to nie łatwiej po prostu to wpasować, żebym wiedział jak? Zapewne wystarczy cały kod watermarka wkleić w odpowiednim miejscu w kodzie uploadu i zmienić część zmiennych.

Proszę o to nie dlatego, że sprawia mi przyjemność kiedy ktoś mi daje gotowe rozwiązanie tylko dlatego, że jestem na niskim poziomie w PHP i po prostu nie umiem tego zrobić. Zrobiłem wszystko co mogłem podając gotowe skrypty i oczekując jedynie aby ktoś pokazał jak to należy poprawnie połączyć. A mój zapał do pracy jest większy niż Ci się wydaje, ale po spędzeniu całego dnia na edycji kodu większości po omacku bez pozytywnych rezultatów można się poirytować.

Jeśli chodzi o funkcje to tak, czytałem w manualu i rozumiem mniej więcej cały skrypt do watermarka jednak ten skrypt uploadu jest już zbyt ciężki. Nie wiem jak zrobić np. aby po wygenerowaniu na końcu skryptu do watermarów gotowego obrazka imagejpeg($image); skrypt uploadu operował na tym własnie wygenerowanym obrazku a nie na $_FILES['obrazek']['name']. Próbowałem zamieniać $_FILES na zmienną generowaną, zmieniałem nazwy zmiennej co by się nie kłóciła z tymi z 2 skryptu... jednak na marne.

Ba, nawet nie wiem czy dobrze robiłem podając w skrypcie watermarka to $_FILES['obrazek']['name'] zamiast $_GET['src'] w $image = imagecreatefromjpeg($_GET['src']);

Ten post edytował Gray 25.09.2011, 21:37:36
Go to the top of the page
+Quote Post
tehaha
post
Post #20





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


no ale po co bierzesz jakieś 2 oddzielne skrypty, np. tutaj http://911-need-code-help.blogspot.com/200...th-another.html masz gotowy skrypt w nim nic nie trzeba zmieniać ani dodawać, ani łączyć tylko zapisać i uruchomić, więc nie znajomość php nie jest w tym wypadku żadną wymówką, bo gotowiec nie wymaga edycji. To co jest podane jako html form zapisujesz jako plik html, to jest jako skrypt php zapisujesz do pliku watermark-image.php, do tego samego katalogu co pliku wrzucasz też obrazek ze znakiem wodnym watermark.png, musisz też utworzyć foldery "originals/" i "images/" i tyle, odpalasz na serwerze i masz.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 23.08.2025 - 19:18