Avatar billede Slettet bruger
18. november 2005 - 16:31 Der er 9 kommentarer og
1 løsning

Crop et billede, fra en selection

Hej eksperter, har lavet et upload system som, smider orginalen op, og laver et thumbnail af det(resize) og nu vil jeg gerne lærer at lave endnu et thumbnail, bare hvor jeg smider, orginalen op, og så skal det bare lægge i eT <div> tag, som baggrund, eller sådan noget, så det jeg har brug for er et script, der følger musen, i en størrelse af f.eks. 60px * 60px som er en firkant selvfølig, og så jeg kan placere sætte den et sted på billede, og der skal jeg så trække koordinaterne ud, så jeg kan tage en bid af mit billede...

Håber I kan forstå og hjælpe mig.
Avatar billede per1291 Nybegynder
20. november 2005 - 00:46 #1
At "crop'e" et billede online - det lyder spændende.

Lad os sige, vi har et stort billede og et udsnit af det oppe til højre.
Udsnittet skal hele tiden vise hele billedet, det synlige udsnit skal hele tiden være placeret det samme sted, men udsnittets koordinater skal variere med musens X- og Y-koordinater i forhold til det store billede.

Lad os høre hvad de andre siger. Ellers må vi jo selv i gang. - Hilsen Per
Avatar billede Slettet bruger
20. november 2005 - 08:47 #2
Ja præcis som du siger... jeg skal have koordinaterne.
Avatar billede per1291 Nybegynder
20. november 2005 - 17:56 #3
Uden garanti (ikke afprøvet):
Musens koordinater skulle kunne findes ved en konstant overvågning.

<script type=”text/javascript”>
var X = 0, Y = 0;
if (!document.all) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = getMouseXY;
function getMouseXY(e)
{
if (document.all)
{
  X = event.clientX + document.body.scrollLeft;
  Y = event.clientY + document.body.scrollTop;
}
else {X = e.pageX; Y = e.pageY};
return true;
}
</script>

Hvis det virker, kan du lade billedets left- og top-koordinater følge musens bevægelser slavisk. - Hilsen Per
Avatar billede Slettet bruger
21. november 2005 - 08:49 #4
Kan ikke få det til at virke, eller ihvertfald giver det ikke noget response...
Avatar billede per1291 Nybegynder
21. november 2005 - 17:09 #5
Korrekt, koden skal finde nogle koordinater, men ikke fortælle dem videre. Det tænkte jeg du selv kunne få den til.

Nå, men nu tester jeg det selv, og hvis det virker på alle mine browsere så strikker jeg en programstump sammen der gør som du efterlyser. - Hilsen Per
Avatar billede per1291 Nybegynder
21. november 2005 - 23:02 #6
Hej coldgate !

Dette er den spæde start på en rutine som gør hvad du efterlyser. I hvert fald hvis jeg har læst dit spørgsmål rigtigt.
Kan finpudses på mange ledder - men virker i Internet Explorer, Netscape, Firefox og Opera.
Jeg har brugt et billede som hedder Havnefoto.jpg og som har højden 200px og bredden 300px.
Indsæt navnet på et af dine egne billeder.
Skal du bruge andre billed-dimensioner kan der laves nogle javascript-rutiner som gør programmet mere generelt.

- - -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv = "imagetoolbar" content = "no">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
.photosize { height:200px; width:300px; }
#bigphoto { position:absolute; top:140px; left:0px; z-index:3; }
#kvadrat { position:absolute; top:140px; height:60px; left:0px; width:60px; border:1px solid blue; z-index:4; }
#hidetop { position:absolute; top:0px; height:140px; left:320px; width:60px; z-index:2; background-color:white; }
#hideleft { position:absolute; top:0px; height:340px; left:80px; width:240px; z-index:2; background-color:white; }
#hideright { position:absolute; top:0px; height:340px; left:380px; width:240px; z-index:2; background-color:white; }
#hidebottom { position:absolute; top:200px; height:140px; left:320px; width:60px; z-index:2; background-color:white; }
#smallbit { position:absolute; top:120px; height:200px; left:320px; width:300px; z-index:1; }
</style>
<script type="text/javascript">
var Xmouse, Ymouse;
if (!document.all) document.captureEvents(Event.MOUSEMOVE);
document.onmousemove = getMouseXY;
function getMouseXY(e)
{
if (!BringThumbnail) return false;
if (document.all)
{
  Xmouse = event.clientX + document.body.scrollLeft;
  Ymouse = event.clientY + document.body.scrollTop;
}
else {Xmouse = e.pageX; Ymouse = e.pageY};
MoveThumbnail();
return true;
}
function MoveThumbnail()
{
var Bigphoto=document.getElementById("bigphoto").style;
var Xbigphoto=Bigphoto.left; var Xdisplace=Xmouse-Xbigphoto-0;
var Ybigphoto=Bigphoto.top; var Ydisplace=Ymouse-Ybigphoto-140;
if ((Xdisplace > 240) || (Ydisplace > 140)) return false;
var Kvadrat=document.getElementById("kvadrat").style;
Kvadrat.left=Xmouse+"px"; Kvadrat.top=Ymouse+"px";
var Smallbit=document.getElementById("smallbit").style;
Smallbit.left=(320-Xdisplace)+"px"; Smallbit.top=(140-Ydisplace)+"px";
}
var BringThumbnail=false;
</script>
</head>
<body>
<img id="bigphoto" src="Havnefoto.jpg" class="photosize" onmouseover="BringThumbnail=true" onmouseout="BringThumbnail=false">
<img id="smallbit" src="Havnefoto.jpg" class="photosize">
<div id="hidetop">&nbsp;</div>
<div id="hideleft">&nbsp;</div>
<div id="hideright">&nbsp;</div>
<div id="hidebottom">&nbsp;</div>
<div id="kvadrat">&nbsp;</div>
</body>
</html>

- Hilsen Per
Avatar billede Slettet bruger
24. november 2005 - 18:09 #7
jeg synes bare det hakker lidt... det er måske ikke lige den helt rigtige måde at gøre det på
Avatar billede per1291 Nybegynder
25. november 2005 - 01:37 #8
Det har du nok ret i. Men det lader til at jeg har læst dit spørgsmål rigtigt.
Måske er der en af "hajerne" der kender metoden.
Jeg vil umiddelbart foreslå:
Lav en function som går i gang når brugeren holder en museknap nede.
Denne event skal sætte gang i en række intervaller på fx 20 millisekunder, hvor musemarkørens position hver gang aflæses og udsnittet tilrettes. Intervaldefinitionen annulleres når museknappen slippes. - Hilsen Per
Avatar billede Slettet bruger
31. juli 2006 - 20:47 #9
Nogen andre bud på mit spørgsmål?
Jeg kunne godt tænke mig det ligesom nightleif.dk har det med deres profil billeder
Avatar billede Slettet bruger
10. august 2006 - 08:48 #10
Lukker, ellers et okay bud, men holder ikke.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester