Endre størrelsen på bildet i PHP

Endre størrelsen på bildet i PHP
Bilder er en viktig del av ethvert moderne nettsted. Vi kan ikke forestille oss noe nettsted uten noe bilde nå. Bildet kreves for å endre størrelse for å vise websiden riktig, og størrelsen på bildet er nødvendig for å endre seg basert på enhetens skjerm. Det er mange måter å endre størrelse på et bilde. De Tag av HTML har en høyde og bredde Attributt for å endre størrelsen på ethvert bilde, men størrelsen på bildet forblir fast for alle typer enheter i dette tilfellet. PHP har mange innebygde funksjoner for å endre størrelsen på bildet på utførelsestiden. Bruken av forskjellige PHP -funksjoner for å endre størrelse på bildet har vist i denne opplæringen.

Funksjoner for lasting av bilde

Bildet krever å laste inn skriptet før det endrer størrelse på det. Mange innebygde funksjoner finnes i PHP for å laste inn forskjellige typer bilder. Noen ofte brukte funksjoner er nevnt nedenfor.

  • ImageCreateFromjpeg () - Det brukes til å laste inn bildet av jpeg -formatet.
  • ImageCreateFrompng () - Det brukes til å laste inn bildet av PNG -formatet.
  • ImageCreateFromGif () - Det brukes til å laste inn bildet av GIF -formatet.

Nødvendig funksjon for å endre størrelse på bildet

De getImageSize () Funksjon brukes til å hente nødvendig informasjon om ethvert bilde som skal brukes til å endre størrelsen på bildet. Den returnerer en rekke syv elementer. De tre første indeksene er hovedsakelig påkrevd for å endre størrelse på bildet, og disse indeksene inneholder bredden, høyden og typen av bildet. PHP har mange typer innebygde funksjoner for å endre størrelse på et bilde, og noen av dem kan brukes basert på den returnerte verdien av getImageSize () funksjon.

Forutsetninger

GD -biblioteket til PHP har blitt brukt i denne opplæringen for å laste og endre størrelsen på bildet. Du må installere dette biblioteket og aktivere gd forlengelse i PHP.Inn jeg fil før du tester skriptet til denne opplæringen.

1. Kjør følgende kommandoer for å oppdatere systemet og installere GD -biblioteket til PHP.

$ sudo apt-get oppdatering
$ sudo apt-get install php-gd

2. Åpne PHP.ini -fil fra /etc/php/8.0/apache2/php.Inn jeg Plasser og fjern semikolonet (;) fra fronten av følgende linje.

Utvidelse = GD2

Eksempler på å endre størrelse på bilder

Bruken av noen innebygde størrelse på PHP har vist i denne delen av opplæringen for å vite måten å endre størrelse på et bilde ved hjelp av PHP-skript.

Eksempel-1: Endre størrelse på bilde ved bruk av ImageCrop () -funksjon
Lag en PHP -fil med følgende skript for å endre størrelse på bildet ved å bruke ImageCrop () funksjon som brukes til å beskjære bildet. Etter å ha utført følgende skript, vil det originale bildet og de beskjære bildene vises i nettleseren.

// Angi banen til det originale bildet
$ orginal_filename = "bilder/bird1.jpg ";
// Angi banen til det modifiserte bildet
$ modified_filename = "Images/Bird11.jpg ";
// Initialiser en variabel for å sjekke det støttede bildeformatet
$ imgformat = true;
// Få bredde, høyde og typeverdier på det originale bildet
Liste ($ bredde, $ høyde, $ type) = getImageSize ($ orginal_filename);
if ($ type == imagetype_jpeg)
$ img = ImageCreateFromjpeg ($ orginal_filename);
elseif ($ type == imagetype_png)
$ img = ImageCreateFrompng ($ orginal_filename);
elseif ($ type == imagetype_gif)
$ img = ImageCreateFromGif ($ orginal_filename);
ellers
$ imgformat = falsk;
if ($ imgformat)

// vis det originale bildet
ekko "";
// avling bildet basert på argumentet som brukes i ImageCrop () -funksjonen
$ img_crop = ImageCrop ($ img, ['x' => 10, 'y' => 10, 'bredde' => $ bredde-100, 'høyde' => $ høyde-100]);
// Opprett ny modifisert bildefil
ImageJpeg ($ img_crop, $ modified_filename);
Imagedestroy ($ img_crop);
// Vis det modifiserte bildet
ekko "";

ellers
ekko "bildeformat støttes ikke.""
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Det modifiserte bildet viser det beskjærte bildet basert på verdiene som er brukt ImageCrop () funksjon.

Eksempel-2: Endre størrelse på bilde ved bruk av ImageCopyresized () -funksjon
Lag en PHP -fil med følgende skript for å endre størrelse på bildet ved å bruke ImageCopyresize () -funksjonen. Denne funksjonen tar ti argumentverdier for å endre størrelsen på bildet, og det returnerer sant for å endre størrelsen på bildet med hell, ellers returnerer FALSE. Etter å ha utført følgende skript, vil det originale bildet og de beskjære bildene vises i nettleseren.

// Angi banen til det originale bildet
$ orginal_filename = "bilder/bird2.jpg ";
// Angi banen til det modifiserte bildet
$ modified_filename = "Images/Bird22.jpg ";
// Få bredde, høyde og typeverdier på det originale bildet
Liste ($ bredde, $ høyde, $ type) = getImageSize ($ orginal_filename);
// vis det originale bildet
ekko "";
// Angi høyden og bredden på det nye bildet
$ n_width = $ bredde+100;
$ n_height = $ høyde+100;
$ img = ImageCreateFromjpeg ($ orginal_filename);
$ NIMG = ImageCreateTruecolor ($ n_width, $ n_height);
// Endre størrelsen på bildet basert på argumentene som brukes på ImageCopyresized () -funksjonen
ImageCopyresized ($ NIMG, $ img, 0, 0, 0, 0, $ n_width, $ n_height, $ bredde, $ høyde);
// Opprett ny modifisert bildefil
ImageJpeg ($ nimg, $ modified_filename);
Imagedestroy ($ NIMG);
// Vis det modifiserte bildet
ekko "";

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at høyden og bredden på det modifiserte bildet har økt med 100 piksler.

Eksempel-3: Endre størrelse på bilde ved bruk av ImageCopyresampled () -funksjon
Lag en PHP -fil med følgende skript for å endre størrelse på bildet ved å bruke ImageCopyresampled () -funksjonen. Denne funksjonen tar ti argumentverdier for å endre størrelse på bildet som ImageCopyresized () funksjon. Det returnerer sant for å endre størrelsen på bildet med hell, ellers returnerer FALSE. Etter å ha utført følgende skript, vil det originale bildet og de beskjære bildene vises i nettleseren.

// Angi banen til det originale bildet
$ orginal_filename = "bilder/bird4.jpg ";
// Angi banen til det modifiserte bildet
$ modified_filename = "Images/Bird44.jpg ";
// vis det originale bildet
ekko "";
// Få nye dimensjoner
liste ($ bredde, $ høyde) = getImageSize ($ orginal_filename);
$ nWidth = $ bredde * 2;
$ nHeight = $ høyde * 2;
// Resample bildet
$ NIMG = ImageCreateTrueColor ($ nWidth, $ nHeight);
$ img = ImageCreateFromjpeg ($ orginal_filename);
ImageCopyresampled ($ NIMG, $ IMG, 0, 0, 0, 0, $ NWIDTH, $ NHEIGHT, $ bredde, $ høyde);
// Opprett den nye bildefilen
ImageJpeg ($ nimg, $ modified_filename);
Imagedestroy ($ NIMG);
// Vis det modifiserte bildet
ekko "";
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor. Utgangen viser at det modifiserte bildet er endret for å doble det originale bildet.

Konklusjon

Mange innebygde funksjoner finnes i PHP for å endre størrelse på et bilde på flere måter. Bruken av tre funksjoner er vist i eksemplene på denne opplæringen for å hjelpe PHP -brukerne til å kjenne måten å endre størrelse på et bilde i PHP.