Wackamole Skrevet 29. mai 2007 Del Skrevet 29. mai 2007 (endret) Hei, jeg lurer på om det går og sette logo på bildet ved hjelp av php.. en slags watermark, helt nederst på bildet i gjørne... vis det går ann, er det noen som har et script? Håper på svar -Fredrik- Endret 29. mai 2007 av Microsoftbruker Lenke til kommentar
Gjest Slettet+142 Skrevet 29. mai 2007 Del Skrevet 29. mai 2007 Ja det går. Hvordan vet jeg ikke helt, men du kan ta en titt på PHP Image Functions Har ikke tid nå Lenke til kommentar
missiongul Skrevet 29. mai 2007 Del Skrevet 29. mai 2007 (endret) <?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); ?> Fant dette, tror det virker, men har ikke testet. (http://www.sitepoint.com/article/watermark-images-php) Endret 29. mai 2007 av missiongul Lenke til kommentar
Wackamole Skrevet 10. juni 2007 Forfatter Del Skrevet 10. juni 2007 (endret) Jeg får ikke dette til og funke, hvor skal jeg sette inn bildet jeg skal ha Watermark på? Her er koden Klikk for å se/fjerne innholdet nedenfor <?php header('content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image2 = imagecreatefromjpeg($_GET['/images/Solnedgang.jpg']); $size = getimagesize($_GET['/images/Solnedgang.jpg']); $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($image2, $image); imagedestroy($image2, $image); imagedestroy($watermark); ?> Dette er feilmeldingen Klikk for å se/fjerne innholdet nedenfor <br /><b>Warning</b>: imagejpeg(): supplied argument is not a valid Image resource in <b>/customers/mittdomene.com/mittdomene.com/httpd.www/minmappe/imagewater.php</b> on line <b>25</b><br /> <br /> <b>Warning</b>: Wrong parameter count for imagedestroy() in <b>/customers/mittdomene.com/mittdomene.com/httpd.www/minmappe/imagewater.php</b> on line <b>27</b><br /> Endret 10. juni 2007 av Microsoftbruker Lenke til kommentar
Crowly Skrevet 10. juni 2007 Del Skrevet 10. juni 2007 Wrong parameter count for imagedestroy() Du har for mange eller for få parametere. Jeg vil tippe for mange. Prøv med imagedestroy($image2); imagedestroy($image); imagejpeg(): supplied argument is not a valid Image resource Dette er ikke gyldig kode: imagejpeg($image2, $image); , les mer om imagejpeg() imagejpeg($image2); imagejpeg($image); skulle være gyldig. Mer info om bildebehandling i php: http://hudzilla.org/phpwiki/index.php?title=Multimedia Lenke til kommentar
Anders Moen Skrevet 10. juni 2007 Del Skrevet 10. juni 2007 Det kan vel uansett ikke være riktig det her? header('content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); Altså der er det jpg/jpeg og bilde er .png Lenke til kommentar
Runar0 Skrevet 10. juni 2007 Del Skrevet 10. juni 2007 Det kan vel uansett ikke være riktig det her? header('content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); Altså der er det jpg/jpeg og bilde er .png 8826403[/snapback] Så lenge han bruker imagejpeg på slutten så har det ingen ting å si kvaslags filer han importerer Lenke til kommentar
LNaitsirhC Skrevet 10. juni 2007 Del Skrevet 10. juni 2007 Det er vel heller dette som er feil: $image2 = imagecreatefromjpeg($_GET['/images/Solnedgang.jpg']); $size = getimagesize($_GET['/images/Solnedgang.jpg']); Du har to valg (Egentlig mange flere sikkert, men..): Ha koden sånn som den var fra før: $image2 = imagecreatefromjpeg($_GET['src']); $size = getimagesize($_GET['src']); Dersom dette scriptet ligger på addressen "http://www.dinurl.tld/script.php" velger du da i src hvilket bilde som skal vannmerkes: Eksempel 1: http://www.dinurl.tld/script.php?src=image.png Eksempel 2: http://www.dinurl.tld/script.php?src=/bilder/image.png Eksempel 3: http://www.dinurl.tld/script.php?src=http:...l.tld/bilde.png Det andre du kan gjøre er å gjøre om til dette: $image2 = imagecreatefromjpeg('/images/Solnedgang.jpg'); $size = getimagesize('/images/Solnedgang.jpg'); Lenke til kommentar
nree Skrevet 10. juni 2007 Del Skrevet 10. juni 2007 (endret) Eksempel 1: http://www.dinurl.tld/script.php?src=image.pngEksempel 2: http://www.dinurl.tld/script.php?src=/bilder/image.png Eksempel 3: http://www.dinurl.tld/script.php?src=http:...l.tld/bilde.png Dette vil være en dårlig løsning siden da kan folk enkelt finne det andre bildet uten watermark.. Ville lagt alle adressene (/bilder/bilde.jpg) sammen med en kryptert md5 av samme adresse inn i database/flatfil Adresse --> MD5 bilde.jpg --> sd65f1sd6f51sd6f51sd6f51 meg2.jpg --> sdsdf5186s1ef18rdes1f6e8 (Kun eksempel, ikke ekte md5 kryptering av filnavnene) osv.. for så å kjøre http://www.dinurl.tld/script.php?src=sdsdf...s1ef18rdes1f6e8 for å få meg2.jpg Endret 10. juni 2007 av goggen90 Lenke til kommentar
itsmebth Skrevet 10. juni 2007 Del Skrevet 10. juni 2007 Eller så kan han bruke .htaccess til å hindre at folk går direkte til bildene. Lenke til kommentar
nree Skrevet 11. juni 2007 Del Skrevet 11. juni 2007 (endret) Ja, men nå tenkte jeg rent PHPsk Endret 11. juni 2007 av goggen90 Lenke til kommentar
Wackamole Skrevet 11. juni 2007 Forfatter Del Skrevet 11. juni 2007 (endret) Nå har jeg oppdatert koden Klikk for å se/fjerne innholdet nedenfor <?php header('content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image2 = imagecreatefromjpeg($_GET['/images/Solnedgang.jpg']); $size = getimagesize($_GET['/images/Solnedgang.jpg']); $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); imagejpeg($image2); imagedestroy($image2); imagedestroy($image); imagedestroy($watermark); ?> men bildet ble helt svart nå, her er en link til bildet www.fredrikmoe.com/aleks90/imagewater.php Endret 11. juni 2007 av Microsoftbruker Lenke til kommentar
Gjest Slettet+142 Skrevet 11. juni 2007 Del Skrevet 11. juni 2007 (endret) Ta en titt på kilekoden til "bildet" ÿØÿà�JFIF������ÿþ�>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default qualityÿÛ�C� $.' ",#(7),01444'9=82<.342ÿÛ�C 2!!22222222222222222222222222222222222222222222222222ÿÀ��H�À"�ÿÄ����������� ÿÄ�µ���}�!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ�������� ÿÄ�µ��w�!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ���?�ùþŠ( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( Š( ÿÙ<br /> <b>Warning</b>: imagejpeg(): supplied argument is not a valid Image resource in <b>/customers/fredrikmoe.com/fredrikmoe.com/httpd.www/aleks90/imagewater.php</b> on line <b>26</b><br /> <br /> <b>Warning</b>: imagedestroy(): supplied argument is not a valid Image resource in <b>/customers/fredrikmoe.com/fredrikmoe.com/httpd.www/aleks90/imagewater.php</b> on line <b>29</b><br /> Du får altså feilmelding i koden din... Altså.. $image er ikke et bilde/bilde objekt. Endret 11. juni 2007 av Slettet+142 Lenke til kommentar
Wackamole Skrevet 11. juni 2007 Forfatter Del Skrevet 11. juni 2007 (endret) Jo, dette er jeg helt sikker på, det svarte du ser er akkurat str. på watermark bilde jeg bruker, og det bildet er ikke svart. EDIT: jeg tror jeg vraker denne koden, den har gitt meg for mye problemer, jeg vet jeg ikke skal gi opp men hvis det er en kode som fungerer bedre tror jeg at jeg bruker en annen ... Så hvis det er noen som vet om en annen kode en det som er gitt her, så må dere for all del poste den her Hilsen -Fredrik- Endret 11. juni 2007 av Microsoftbruker Lenke til kommentar
Gjest Slettet+142 Skrevet 11. juni 2007 Del Skrevet 11. juni 2007 prøv med denne da <?php header('content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image2 = imagecreatefromjpeg($_GET['/images/Solnedgang.jpg']); $size = getimagesize($_GET['/images/Solnedgang.jpg']); $dest_x = $size[0] - $watermark_width - 5; $dest_y = $size[1] - $watermark_height - 5; imagecopymerge($watermark, $image, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100); imagejpeg($image); imagejpeg($image2); imagedestroy($image2); imagedestroy($image); imagedestroy($watermark); ?> Lenke til kommentar
Wackamole Skrevet 11. juni 2007 Forfatter Del Skrevet 11. juni 2007 Svart bilde fremdeles Lenke til kommentar
Gjest Slettet+142 Skrevet 11. juni 2007 Del Skrevet 11. juni 2007 Dette da? <?php header('content-type: image/jpeg'); $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image2 = imagecreatefromjpeg($_GET['/images/Solnedgang.jpg']); $size = getimagesize($_GET['/images/Solnedgang.jpg']); $dest_x = $size[0] - $watermark_width - 5; $dest_y = $size[1] - $watermark_height - 5; imagecopymerge($watermark, $image2, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100); imagejpeg($image); imagejpeg($image2); imagedestroy($image2); imagedestroy($image); imagedestroy($watermark); ?> Hvis ikke det funker, er jeg tom for forslag :/ Lenke til kommentar
LNaitsirhC Skrevet 11. juni 2007 Del Skrevet 11. juni 2007 (endret) Leste du det jeg skrev ovenfor? Denne her bør funke, testet nettopp selv. Klikk for å se/fjerne innholdet nedenfor PHP <?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("images/Solnedgang.jpg"); $size = getimagesize("images/Solnedgang.jpg"); $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, 20); imagejpeg($image); imagedestroy($image); imagedestroy($watermark); ?> Endret 11. juni 2007 av LarsChh Lenke til kommentar
Wackamole Skrevet 12. juni 2007 Forfatter Del Skrevet 12. juni 2007 (endret) Tusen Tusen Tusen takk, den funket perfekt! EDIT: Nå får jeg problemer igjen ... Jeg får opp en haug med feilmeldinger, de kommer under koden Her er koden jeg har prøvd på Klikk for å se/fjerne innholdet nedenfor <?php $db = mysql_connect("localhost","brukernavn","passord"); mysql_select_db("database",$db) or die(mysql_error()); $sql = "select * from fm_galleri WHERE bildeID='".$_GET['id']."' ORDER BY bildeID"; ?> <?php $result = mysql_query($sql,$db) or die(mysql_error()); while($row = mysql_fetch_array($result)){ $path = "".$row['bildeURL']."'"; ?> <?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($path); $size = getimagesize($path); $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, 75); imagejpeg($image); imagedestroy($image); imagedestroy($watermark); } ?> Dette er feilmeldingene... Klikk for å se/fjerne innholdet nedenfor Warning: Cannot modify header information - headers already sent by (output started at /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php:11) in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 12 Warning: imagecreatefromjpeg() [function.imagecreatefromjpeg]: Unable to access /images/DSC01746.JPG' in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 18 Warning: imagecreatefromjpeg(/images/DSC01746.JPG') [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 18 Warning: getimagesize() [function.getimagesize]: Unable to access /images/DSC01746.JPG' in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 19 Warning: getimagesize(/images/DSC01746.JPG') [function.getimagesize]: failed to open stream: No such file or directory in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 19 Warning: imagecopymerge(): supplied argument is not a valid Image resource in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 22 Warning: imagejpeg(): supplied argument is not a valid Image resource in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 23 Warning: imagedestroy(): supplied argument is not a valid Image resource in /customers/fredrikmoe.com/fredrikmoe.com/httpd.www/imagewater.php on line 24 -Fredrik- Endret 12. juni 2007 av Microsoftbruker Lenke til kommentar
Gjest Slettet+142 Skrevet 12. juni 2007 Del Skrevet 12. juni 2007 (endret) <?php header('content-type: image/jpeg'); $db = mysql_connect("localhost","brukernavn","passord"); mysql_select_db("database",$db) or die(mysql_error()); $sql = "select * from fm_galleri WHERE bildeID='".$_GET['id']."' ORDER BY bildeID"; ?> <?php $result = mysql_query($sql,$db) or die(mysql_error()); while($row = mysql_fetch_array($result)){ $path = "".$row['bildeURL']."'"; $watermark = imagecreatefrompng('watermark.png'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image = imagecreatefromjpeg($path); $size = getimagesize($path); $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, 75); imagejpeg($image); imagedestroy($image); imagedestroy($watermark); } ?> eller evt. : <?php $db = mysql_connect("localhost","brukernavn","passord"); mysql_select_db("database",$db) or die(mysql_error()); $sql = "select * from fm_galleri WHERE bildeID='".$_GET['id']."' ORDER BY bildeID"; $result = mysql_query($sql,$db) or die(mysql_error()); while($row = mysql_fetch_array($result)){ $path = "".$row['bildeURL']."'"; 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($path); $size = getimagesize($path); $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, 75); imagejpeg($image); imagedestroy($image); imagedestroy($watermark); } ?> Endret 13. juni 2007 av Slettet+142 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå