WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   php och bilder (https://www.wn.se/forum/showthread.php?t=17976)

vidir 2006-12-08 12:26

Hej

Jag har ett galleri med fixerad bildstorlek "maxbredd" 200px där man klickar för att se bilden i full storlek.

FELET: jag har en del bilder som är mindre..

Undrar om det finns en metod som visar bilden i sin fulla storlek om den understiger tex. 200 pix, om den överstiger 200 pix fixeras / visas den i maxstorleken 200pix och blir klickbar.

:blink:

Det jag använder nu är denna

<?
if (!($bilder)) {
echo"<img src=img/nobild.jpg width=60 border=0>";
}
else {?>

[img]<?=$bilder?>[/img]</a>

<?
}
?>

Tack på förhand..

Bladet 2006-12-08 12:47

Kolla in http://se.php.net/getimagesize

vidir 2006-12-08 13:15

Tack för tipset Bladet!

men det ser ganska för avancerat ut för mig.. där handlar det mest om imagesize vid upload, eller?

lubic 2006-12-08 15:34

Borde gå med något i stil med:

$size = getimagesize($bilder);
$width = $size[0];

och sen får du göra någon form av if-sats, typ:

if($width < 200){
// Ej klickbar
} else {
// Klickbar
}

vidir 2006-12-12 08:40

Tack lubic!
jag testar utifrån detta.

Frazze 2006-12-12 11:46

Lubic exempel bör väl fungera, även om jag inte förstod det där med "klickbar". Som jag förstod det skulle väl bilden få sin naturliga storlek om den var mindre än 200px samt göras om till 200px om den var större. Misstänker att du menar både bredd och höjd också, så man måste ju räkna ut en faktor baserat på det mått som är störst så man kan omvandla både bredd och höjd. På så sätt får bilden rätt proportiner förminskad.
Sitter på jobbet nu så jag kan inte testköra. Det här exemplet innehåller nog en hel del fel, men principen bör vara korrekt. Annars ber jag om ursäkt :-)
Orkar inte omvandla allt till ren php, men som sagt, principen bör ju iaf vara korrekt.

$size = getimagesize($bild);
$width = $size[0]; // Originalhöjd
$height = $size[1]; //Originalbredd

Om bredd och höjd mindre än 200 får bilden sin naturliga storlek.
if($width < 200 || $height < 200) {
[img]blabla[/img]
} else { // Annars är antingen höjd eller bred över 200px och vi måste beräkna ny storlek på bilden.
// Räkna ut faktor som gäller för minskning. Det tal som är störst gäller
$faktor = ($width > $height) ? ($width / 200) : ($height / 200);

$newwidth = $width / $faktor;
$newheight = $height / $faktor;

[img]blabla[/img]
}

vidir 2006-12-12 15:34

kanonintressant.. :-) tack Frazze ,,skall testa..

Frazze 2006-12-12 19:31

på sista imagetaggen där jag skrivit height=$height skall det såklart stå =$newheight. Men det hade du säkert redan listat ut :-)


Alla tider är GMT +2. Klockan är nu 15:36.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson