Billede på billede

Tags:    php

<< < 12 > >>
Hej.
Jeg har lavet en side hvor der kan findes spil, film, billeder og vitser og nu kunne jeg godt tænke mig at ligge en form for copyright på billederne.
For at gøre denne copyright pænere og mere prof. vil jeg lave det som et billede som bliver lagt på billedet der skal vises på siden med GDlib, men jeg har kun lært at putte tekst på så jeg tænkte om nogen herinde måske kunne vise mig hvordan man ligger billeder på billeder med GDlib?

Min kode ser sådan ud:
<?
$counter_img = imageCreateFromPNG("billede.png");
$dest_x = 10;
$dest_y = 10;
imageString($counter_img, $font, $dest_x, $dest_y, "");
header("Content-Type: image/png");
imagePNG($counter_img);
?>

Som det er nu kommer billedet det antal pixel som er angivet i $dest_x og $dest_y ind på billedet, men da billederne kan have forskellige størrelser kan dette så laves til procent?
Det er muligt at jeg skal have fat i en helt ny kode, men det ville være rart hvis nogen kunne smide et kodeeksempel eller noget.
Hvis det antal point der er givet ikke er højt nok finder vi nok også ud af det.

- Simon



15 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
Hej.
Jeg har lavet en side hvor der kan findes spil, film, billeder og vitser og nu kunne jeg godt tænke mig at ligge en form for copyright på billederne.
For at gøre denne copyright pænere og mere prof. vil jeg lave det som et billede som bliver lagt på billedet der skal vises på siden med GDlib, men jeg har kun lært at putte tekst på så jeg tænkte om nogen herinde måske kunne vise mig hvordan man ligger billeder på billeder med GDlib?

Min kode ser sådan ud:
<?
$counter_img = imageCreateFromPNG("billede.png");
$dest_x = 10;
$dest_y = 10;
imageString($counter_img, $font, $dest_x, $dest_y, "");
header("Content-Type: image/png");
imagePNG($counter_img);
?>

Som det er nu kommer billedet det antal pixel som er angivet i $dest_x og $dest_y ind på billedet, men da billederne kan have forskellige størrelser kan dette så laves til procent?
Det er muligt at jeg skal have fat i en helt ny kode, men det ville være rart hvis nogen kunne smide et kodeeksempel eller noget.
Hvis det antal point der er givet ikke er højt nok finder vi nok også ud af det.

- Simon


Der er en artikel i PHP forummet som omhandler netop det du snakker om:

http://www.udvikleren.dk/article.php?aid=232&techid=6

Mvh. Emilbp



Hej.
Jeg har lavet en side hvor der kan findes spil, film, billeder og vitser og nu kunne jeg godt tænke mig at ligge en form for copyright på billederne.
For at gøre denne copyright pænere og mere prof. vil jeg lave det som et billede som bliver lagt på billedet der skal vises på siden med GDlib, men jeg har kun lært at putte tekst på så jeg tænkte om nogen herinde måske kunne vise mig hvordan man ligger billeder på billeder med GDlib?

Min kode ser sådan ud:
<?
$counter_img = imageCreateFromPNG("billede.png");
$dest_x = 10;
$dest_y = 10;
imageString($counter_img, $font, $dest_x, $dest_y, "");
header("Content-Type: image/png");
imagePNG($counter_img);
?>

Som det er nu kommer billedet det antal pixel som er angivet i $dest_x og $dest_y ind på billedet, men da billederne kan have forskellige størrelser kan dette så laves til procent?
Det er muligt at jeg skal have fat i en helt ny kode, men det ville være rart hvis nogen kunne smide et kodeeksempel eller noget.
Hvis det antal point der er givet ikke er højt nok finder vi nok også ud af det.

- Simon


Der er en artikel i PHP forummet som omhandler netop det du snakker om:

http://www.udvikleren.dk/article.php?aid=232&techid=6

Mvh. Emilbp


Hej.
Jeg må indrømme at jeg ikke rigtig forstår den artikel. Jeg har lavet en kode der ser sådan ud:
<?
$bg = $_GET[pic];
$fg = $_GET[icon];
function IconizeImage($bg, $fg, $newpic = '$bg_watermaked.jpg') {
$imgX = imagesx($fg);
$imgY = imagesy($fg);
// imagealphablending($bg, 1);

imagecopy($bg, $bg, 0, 0, 0, 0, $imgX, $imgY);

imagejpeg($bg, $newpic, 100);
imagedestroy($bg);
imagedestroy($fg);
}
?>
..men det virker ikke.

- Simon




Hej.
Jeg må indrømme at jeg ikke rigtig forstår den artikel. Jeg har lavet en kode der ser sådan ud:
<?
$bg = $_GET[pic];
$fg = $_GET[icon];
function IconizeImage($bg, $fg, $newpic = '$bg_watermaked.jpg') {
$imgX = imagesx($fg);
$imgY = imagesy($fg);
// imagealphablending($bg, 1);

imagecopy($bg, $bg, 0, 0, 0, 0, $imgX, $imgY);

imagejpeg($bg, $newpic, 100);
imagedestroy($bg);
imagedestroy($fg);
}
?>
..men det virker ikke.

- Simon


Du har vist misforstået hvordan funktioner fungerer. Din kode bør nok se således ud:

Fold kodeboks ind/udKode 


Hvis det ikke virker, så husk at fortælle hvilken fejl den giver.

Husk at dine billeder skal være henholdsvis et jpg og et png billede, som artiklen siger. Læs den evt. en gang til.

Mvh. Emilbp




Hej.
Jeg må indrømme at jeg ikke rigtig forstår den artikel. Jeg har lavet en kode der ser sådan ud:
<?
$bg = $_GET[pic];
$fg = $_GET[icon];
function IconizeImage($bg, $fg, $newpic = '$bg_watermaked.jpg') {
$imgX = imagesx($fg);
$imgY = imagesy($fg);
// imagealphablending($bg, 1);

imagecopy($bg, $bg, 0, 0, 0, 0, $imgX, $imgY);

imagejpeg($bg, $newpic, 100);
imagedestroy($bg);
imagedestroy($fg);
}
?>
..men det virker ikke.

- Simon


Du har vist misforstået hvordan funktioner fungerer. Din kode bør nok se således ud:

Fold kodeboks ind/udKode 


Hvis det ikke virker, så husk at fortælle hvilken fejl den giver.

Husk at dine billeder skal være henholdsvis et jpg og et png billede, som artiklen siger. Læs den evt. en gang til.

Mvh. Emilbp


Jeg tror du lavede nogle fejl i kode eksemplet, men nu ser det sådan ud:
Fold kodeboks ind/udKode 


Den giver ingen fejl, men gør ingenting. Se her:
http://www.snuzzer.dk/picgen.php?pic=picgen_pic.jpg&icon=picgen_icon.png
- Simon





Jeg tror du lavede nogle fejl i kode eksemplet, men nu ser det sådan ud:
Fold kodeboks ind/udKode 


Den giver ingen fejl, men gør ingenting. Se her:
http://www.snuzzer.dk/picgen.php?pic=picgen_pic.jpg&icon=picgen_icon.png
- Simon


Prøv at sætte følgende kode ind lige før du kalder IconizeImage();

header("Content-type: image/jpeg");

Mvh. Emilbp





Jeg tror du lavede nogle fejl i kode eksemplet, men nu ser det sådan ud:
Fold kodeboks ind/udKode 


Den giver ingen fejl, men gør ingenting. Se her:
http://www.snuzzer.dk/picgen.php?pic=picgen_pic.jpg&icon=picgen_icon.png
- Simon


Prøv at sætte følgende kode ind lige før du kalder IconizeImage();

header("Content-type: image/jpeg");

Mvh. Emilbp


Nu sker der da lidt mere, men det er stadig ikke rigtigt.
Den laver et billede med et kryds i.
http://www.snuzzer.dk/picgen.php?pic=picgen_pic.jpg&icon=picgen_icon.png

Koden ser sådan ud:
Fold kodeboks ind/udKode 

- Simon



Ligger de to billeder i samme mappe som picgen.php?

Mvh. Emilbp



Ligger de to billeder i samme mappe som picgen.php?

Mvh. Emilbp


Ja det kan også ses hvis du går ind på:
www.snuzzer.dk/picgen_pic.jpg
www.snuzzer.dk/picgen_icon.png
- Simon



Ligger de to billeder i samme mappe som picgen.php?

Mvh. Emilbp


Ja det kan også ses hvis du går ind på:
www.snuzzer.dk/picgen_pic.jpg
www.snuzzer.dk/picgen_icon.png
- Simon


Jeg har selv fået det til at virke på min server nu. Tag et kig på www.emilbp.dk/picgen.php.

Din fejl er at du bare har tilføjet .png i slutningen af filnavnet, altså ikke konverteret det til png! Men du kan hente billederne fra min server, de har samme filnavne som på din. Jeg har også ændret lidt i koden, og synes derfor du skal tage et kig på imagepng(); funktionen, da der sandsynligvis ligger en iconized.jpg fil på din server. For som funktionen er skrevet der, returnerer den bare et billede.

Fold kodeboks ind/udKode 



Mvh. Emilbp



Ligger de to billeder i samme mappe som picgen.php?

Mvh. Emilbp


Ja det kan også ses hvis du går ind på:
www.snuzzer.dk/picgen_pic.jpg
www.snuzzer.dk/picgen_icon.png
- Simon


Jeg har selv fået det til at virke på min server nu. Tag et kig på www.emilbp.dk/picgen.php.

Din fejl er at du bare har tilføjet .png i slutningen af filnavnet, altså ikke konverteret det til png! Men du kan hente billederne fra min server, de har samme filnavne som på din. Jeg har også ændret lidt i koden, og synes derfor du skal tage et kig på imagepng(); funktionen, da der sandsynligvis ligger en iconized.jpg fil på din server. For som funktionen er skrevet der, returnerer den bare et billede.

Fold kodeboks ind/udKode 



Mvh. Emilbp


Hej. Nu ser det godt ud men jeg har stadig ét problem og jeg er ikke helt så god til PHP. Jeg bruger koden du har givet mig og den "smelter" dem godt nok sammen, men da det er til copyright er picgen_pic.png ikke altid det samme billede så jeg har prøvet at skrive $_GET[pic] istedet for picgen_pic.png sådan her:
Fold kodeboks ind/udKode 

Nu giver den bare et kryds igen.
www.snuzzer.dk/picgen.php?pic=picgen_pic.png
_____________
- Simon
www.snuzzer.dk



<< < 12 > >>
t