Yshopnoosa.com

Hur storleksändra bilder i PHP

Hur storleksändra bilder i PHP

PHP ger en funktion för att få bredd och höjd i en bild. Med denna information och några enkla matematik är det möjligt att ändra storlek en bild för visning utan användning av ett grafik bibliotek. Om du vill ändra storlek permanent en bild måste du använda ett grafik bibliotek. PHP ger funktioner för att använda GD grafik bibliotek för att manipulera bilder.

Instruktioner

1 Får storleken på en bildfil med hjälp av "getimagesize" funktionen i PHP. Fånga returvärdet från funktionen och extrahera bildens bredd och höjd. Exempelvis skriv:

<? php

define ("bredd", 0);

define ("höjd", 1);

$image_size = getimagesize("myimage.jpg");

$width = $image_size [bredd].

$height = $image_size [höjd];

2 Ange variabler motsvara målet bredd och höjd för storleksändring. Exempelvis skriv:

$target_width = 100;

$target_height = 100;

3 Välj den lägsta av de två skadekvoterna beräkna förhållandet mellan nya till gamla bredd och höjd. Beräkna ny bredd och höjd baserat på detta förhållande. Exempelvis skriv:

$ratio_width = $target_width / $width;

$ratio_height = $target_height / $height;

$ratio = min ($ratio_width, $ratio_height);

$new_width = intval($ratio * $width);

$new_height = intval($ratio * $height);

? >

4 Visa bilden med den nya storleken av inklusive attributen "bredd" och "höjd" i "img" HTML-taggen. Exempelvis skriv:

< img alt = "Min bild" width = "<? php echo $new_width? >" höjd = "<? php echo $new_height? >" / >

5 Ändra storlek på bilden permanent genom att skapa en kopia av bilden som en ny bild och skalning den nya bilden med den funktionalitet som ges av GD graphics library. Exempelvis skriv:

<? php

$image = imagecreatefromjpeg("myimage.jpg");

$new_image = imagecreatetruecolor ($target_width, $target_height);

imagecopyresampled ($new_image, $image, 0, 0, 0, 0, $target_width, $target_height, $width, $height);

6 Visa re-storlek bilden. Exempelvis skriv:

imagejpeg ($new_image, null, 100);

? >

Tips & varningar

  • Du kan kontrollera om GD graphics library är installerat vid visning av biblioteksinformation. Om inget visas är i biblioteket inte installerad. Till exempel på en kommandorad, skriver du:
  • php - r "echo gd_info();"