Är det något sånt här du har tänkt dig?
Det är ju ingen filuppladdning, men du förstår nog hur du kan göra för att positionera vattenmärket.
10 svar · 811 visningar · startad av Guldstrand
Går det att med hjälp av ett formulär, själv bestämma var en vattenstämpel ska placeras på en bild?
(Ex. upp/höger, ner/vänster m.m.)
Håller på med ett mindre bildgalleri där användarna själva ska kunna välja var vattenstämpeln ska visas på bilden.
(Detta ska kunna väljas från samma formulär där man laddar upp bilden.)
Är det något sånt här du har tänkt dig?
Det är ju ingen filuppladdning, men du förstår nog hur du kan göra för att positionera vattenmärket.
Det här med höger och vänster... ;)
haha, blev visst lite fel. Får skylla på snabb hack. :e
/red Nu är det ändrat så höger är höger och vänster är vänster. (Uppe är fortfarande uppe och Nere är fortfarande nere) ;)
/red igen.
Bifogar all kod om någon har nytta av det.
Pedda skrev:
Är det något sånt här du har tänkt dig?
Det är ju ingen filuppladdning, men du förstår nog hur du kan göra för att positionera vattenmärket.
Jupp... precis SÅ menade jag.
Ska titta lite på detta. Stort tack!
P.s. Då jag sparar filnamnet och annan formulärdata i mysql, är det då även lämpligt att spara "placeringen" av vattenstämpeln i mysql? *dum fråga kanske*
Jag skulle nog inte lägga på stämpeln varje gång bilden visas då bildmanipulation i php tar en del serverkraft.
Vid uppladdning av en bild skulle jag lägga på vattenstämpeln och sen spara den nya bilden.
Pedda skrev:
Jag skulle nog inte lägga på stämpeln varje gång bilden visas då bildmanipulation i php tar en del serverkraft.
Vid uppladdning av en bild skulle jag lägga på vattenstämpeln och sen spara den nya bilden.
Hmm, ok... tänkte faktiskt inte på det. :r
Som jag har det nu, så sätts vattenstämpeln "on the fly".
(Blir alltså att ändra en hel del i scriptet för att minska ev. belastningar!?)
Vet inte exakt hur mycket en sån här funktion kräver, men istället för att spara det i databasen så är det ju bättre att spara bilden som den ska vara.
Ha ett vanligt uppladdningsformulär där du har en select för val av placering och manipulera den uppladdade bilden och spara sen den färdiga bilden så slipper du tänka på vad dom har valt varje gång bilden ska visas.
Håller på och pillar lite med detta script just nu, och behöver lite hjälp.
Hur löser jag det så att man även kan placera vattenstämpeln "centrerat uppe/nere"?
Följande finns nu:
// Marginaler
$marginalX = 10;
$marginalY = 10;
// Läs storlekarna på bilderna
$sizeX = imagesx($stamp);
$sizeY = imagesy($stamp);
// Räkna ut var vattenmärket ska placeras
switch ($_GET['pos']) {
case "uv":
$posX = $marginalX;
$posY = $marginalY;
break;
case "uh":
$posX = imagesx($foto) - $sizeX - $marginalX;
$posY = $marginalY;
break;
case "nv":
$posX = $marginalX;
$posY = imagesy($foto) - $sizeY - $marginalY;
break;
case "nh":
$posX = imagesx($foto) - $sizeX - $marginalX;
$posY = imagesy($foto) - $sizeY - $marginalY;
break;
default:
$posX = imagesx($foto) - $sizeX - $marginalX;
$posY = $marginalY;
break;
}
imagecopy($foto, $stamp, $posX, $posY, 0, 0, imagesx($stamp), imagesy($stamp));
Lägg till dessa i switch satsen
case "uc":
$posX = (imagesx($foto) / 2) - ($sizeX / 2);
$posY = $marginalY;
break;
case "nc":
$posX = (imagesx($foto) / 2) - ($sizeX / 2);
$posY = imagesy($foto) - $sizeY - $marginalY;
break;
uc är Uppe centrerat och nc är Nere centrerat
Nu kör jag inte PHP, men nu gäller det inte tekniken.
Jag sparar originalbilden, sen genererar jag olika stora thumbs där jag sparar vattenstämpeln.
Om jag skulle vilja flytta vattenstämpeln så raderar jag bara mina thumbs, då dessa genereras on-the-fly om de inte finns.