06. november 2006 - 23:00Der er
16 kommentarer og 1 løsning
Lave copyright logo på billeder
Hey. Hvordan laver man så der automatisk indsættes et copyright billede nede i højre hjørne på alle billeder der uploades? Det er set på mange sider hvor billederne ikke må kopieres.
Mød en af Nordens fremmeste eksperter i adfærdsdesign – Morten Münster, der bl.a. har skrevet ” Jytte fra marketing er desværre gået for i dag” – på Computerworld Cloud & AI Festival.
Som udgangspunkt må INTET indhold kopieres - Ophavsmanden/-kvinden har copyright på det, selvom det ikke står på billedet. Men ok, det er fint hvis man vil sikre sig lidt (så kan man da se hvis nogen bruger billederne på deres eget site).
Så kan der lægges et logo oven på billedet, inden det eksporteres til browseren, men originalbilledet ændres ikke. Javascript kan ikke gøre det (så vidt jeg ved).
mysql_connect("127.0.0.1","root","") or die (mysql_error()); mysql_select_db("eseamembers") or die (mysql_error());
$sql = "SELECT flop FROM ministatsteam WHERE projectid=0 ORDER BY dato DESC LIMIT 1";
$status=mysql_query("$sql") or die (mysql_error()); while ($row = mysql_fetch_array($status)){ $flops = number_format($row['flop']/100, 2, '.', ','); }
Hey alle. har kiget lidt på svarene og har os arbejdet med GDLib siden jeg skrev dette indlæg. Jeg er dog ikke helt med på hvordan man kan lave det som larsholmgaard dk nævner? Altså så der ligges et billede ovenpå inden det eksporteres til browseren? Stod lidt om det i linket med at man skulle pille lidt ved http-conf men er der nogen der kan forklare mig den korrekte måde?
http-conf??? ahh, det kan jeg ikke tro er nødvendigt. Det du gør er, at lave to gange imagecopy. Det første er med original-billedet som skal have logoet på. Næste imagecopy er så logoet. Logoet skulle så gerne blive placeret oven på originalen, og du kan placere det hvor du vil have det:
bool imagecopy ( resource dst_im, resource src_im, int dst_x, int dst_y, int src_x, int src_y, int src_w, int src_h )
kunne eks være:
$im_orig = imagecreatefromjpeg("original_billede.jpg"); $imgsize_orig = getimagesize("original_billede.jpg"); //array der indeholder originalbilledets dimensioner
$im_logo = imagecreatefrompng("logo.png"); //hvis der er gennemsigtig baggrund kan .png bruges som vist, eller .gif med imagecreatefromgif() $imgsize_logo = getimagesize("logo.png"); //array der indeholder logobilledets dimensioner
$im_new = imagecreatetruecolor($imgsize_orig[0], $imgsize_orig[1]); //dette vil gøre resultatbilledet til samme størrelse som originalbilledet
imagecopy($im_new, $im_orig, 0, 0, 0, 0, $imgsize_orig[0], $imgsize_orig[1]); //originalbilledet placeres ved position 0,0 i det nye billede, og det der kopieres fra original billedet er hele billedet (fra position 0,0 til position bredde,højde)
imagecopy($im_new, $im_logo, 5, 120, 0, 0, $imgsize_logo[0], $imgsize_logo[1]); //logobilledet placeres ved position 5,120 i det nye billede, og det der kopieres fra logo billedet er hele billedet (fra position 0,0 til position bredde,højde)
den sidste kunne også tage højde for originalbilledets dimensioner, og eks. placere logo'et 5 pixels fra venstre kant og 20 pixels fra bunden, som eks:
Hejsa i må undskylde den lange svartid men har ikke haft tid til at kigge på det i lang tid. Men nu fik jeg tid :) Har kigget lidt på denne side: http://dk2.php.net/gd og fandt også hurtigt et eksempel. Men nu mangler jeg lige at høre hvordan jeg så kan gøre billederne utilgængelige via normal http-adresse? Dvs. så man ikke bare kan skrive www.side.dk/images/billede1.jpg men derimod kun kan se billederne de steder hvor jeg vil have det. Det var her jeg mente jeg skulle bruge noget htaccess eller ligndende.
behøver du at gemme originalerne? Du kan jo smide logoet på under upload-proceduren, og gemme dén udgave, og smide originalen væk ;) Sparer også tid for brugeren ;)
Vil helst gemme originalerne. Og det var også sådan jeg havde hørt det kunne laves, så logoerne bare blev lagt på real time. Og under alle omstændigheder skal billedemapperne låses så der kun er adgang via hjemmesiden og ikke blot ved at skrive adressen til billedet ind. Så det ville ikke ændre det store.
Kan heller ikke lige se hvordan det skulle spare tid for brugerne ;)
Hver gang der smides logo på billederne skal serveren arbejde lidt ekstra - når det så bliver ganget op med det antal brugere der skal have vist et billede, så får de præsenteret billedet langsommere ;) Derfor er det en god idé kun at bruge real time generering af billeder når det er absolut nødvendigt, som eks. når indholdet ændrer sig ofte.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.