<ole>
hoejrup >> Lad os se et bud på en sådan ... uden du på forhånd kender målene på billedet ;o)
For at kunne sætte målene på popup'en, skal billedet være nede på klienten. Det kan enten ske i popoup'en - som derefter resizes - eller man kan skrive det ind i et skjult div på siden.
Under alle omstændigheder skal du vente på, billedet er færdig-loaded, før du kender dimesionerne på billedet.
Ikke mindst IE6/win kan være længe om at åbne et popup-vindue, så hvis man først skal vente på billedet og derefter på popup'en, vil jeg foretrække el_barto's løsning.
Jeg går dog udfra, billederne bliver uploaded gennem en fil-upload og stien til det lagt i en database. Man kunne så sagtens lave et par ekstra kolonner i DB-tabellen og lægge billedstørrelserne ind der.
$imDims = getimagesize( $_FILES["userfile"]["tmp_name"] );
lægger et array i variablen '$imDims'. '$imDims[0]' indeholder så bredden og '$imDims[1]' højden - forudsat feltet i upload-formen hed 'userfile'.
Læs nærmere:
http://dk2.php.net/function.getimagesizeFor at gøre DB-arbejdet mindre, kan du sætte størrelserne ind i fil-navnet:
# Her lægger vi størrelsen i navnet
$fName = $_FILES["userfile"]["name"];
$fName = explode( ".", $fName );
$ext = array_pop( $fName );
$imWidth = getimagesize( $_FILES["userfile"]["tmp_name"] );
$fNewName = $fName[0]."_".$imWidth[0]."x".$imWidth[1].".".$ext;
print "Nyt navn: ".$fNewName." - er klart til at bruge<br>\n";
# Her hiver vi størrelsen ud af navnet
preg_match( "/_(\d+)x(\d+)./", $fNewName, $imDims );
$imWidth = $imDims[1];
$imHeight = $imDims[2];
print "Billedet: ".$fNewName." er ".$imWidth."x".$imHeight." pixels";
Den første blok kan du bruge til at lægge billedet på serveren med - med move_uploaded_file() - og til URL'en til DB'en.
Den anden blok bruger du, efter du har hentet URL'en fra DB'en, når billedet skal vises. Variablerne kan herefter skrives ind i JavaScript-kaldet til popup'en ... little more sexy ;o)
/mvh
</bole>