Gå til innhold

logo på bilder (watermark)


Anbefalte innlegg

Videoannonse
Annonse

<?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 av missiongul
Lenke til kommentar
  • 2 uker senere...

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 av Microsoftbruker
Lenke til kommentar
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
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

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

 

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 av goggen90
Lenke til kommentar

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 av Microsoftbruker
Lenke til kommentar
Gjest Slettet+142

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 av Slettet+142
Lenke til kommentar

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 :blush: 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 :love:

 

Hilsen

-Fredrik-

Endret av Microsoftbruker
Lenke til kommentar
Gjest Slettet+142

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
Gjest Slettet+142

Dette da? :p

<?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

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_y00$watermark_width$watermark_height20);

imagejpeg($image);

imagedestroy($image);

imagedestroy($watermark);

 

?>

Endret av LarsChh
Lenke til kommentar

Tusen Tusen Tusen takk, den funket perfekt! :love:

 

EDIT: Nå får jeg problemer igjen :blush: ...

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 av Microsoftbruker
Lenke til kommentar
Gjest Slettet+142

<?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 av Slettet+142
Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...