Mūsdienu pasaulē, kur redzamās reprezentācijas ieņem centrālo lomu, efektīva attēlu apstrāde tīmekļa lietojumprogrammās ir būtiska. Daudzas lietojumprogrammas ir jāskalē attēli, lai tos padarītu vienota izmēra. Šajā apmācībā es parādīšu, kā to izdarīt PHP lietojumprogrammā, palielinot augšu augšupielādēto attēlu augstumu.

Galvenās atziņas

  • Skalējot attēlus, tiek uzlabota lietojamība un lietojumprogrammas ielādes ātrums.
  • Skalēšana notiek, aprēķinot platumu un augstumu, saglabājot proporcijas.
  • Arhivējošos glabāšanas vai kešatmiņas risinājumos ir svarīgi, lai saglabātu sistēmas resursus.

Solus pa solim instrukcija

1. Izveido attēlu kontrolieri

Pirmajā solī izveido jaunu kontrolieri, ko nosauksim par ImageController.php. Šajā kontrolierī īstenosi rīcību, lai parādītu attēlus. Rīcība saņems ID kā parametrus, lai iegūtu konkrēto attēlu.

Efektīva attēlu mērogošana PHP lietotnēs

Failā definē klasi un atbilstošās metodes. Tam ietilpst metode viewAction, kur jāpārsūta ID kā parametrs un jānoregulē attēla platums. Mēs sākam ar noklusējuma vērtību 250.

Efektīva attēlu mērogošana PHP lietotnēs

2. Iegūsti attēlu datus

Vispirms jāiegūst attēlu dati, izmantojot palīgrīka klasi. Pieņemsim, ka tev jau ir klase ar nosaukumu ImageUtility, kas nodrošina renderēšanas metodi. Šī metode izmantos attēla ID un platumu kā parametrus.

Efektīva attēlu mērogošana PHP lietotnēs

Tu nosaki galveni par satura tipu, lai nodrošinātu, ka attēli tiek pareizi apstrādāti kā JPEG faili.

3. Ievies skalēšanas loģiku

Izveido metodi renderImage ImageUtility klasē. Šī metode pieņem attēla ID un augstumu kā parametrus. Šeit mēs arī dinamiski aprēķināsim platumu, lai attēli tiktu attēloti vēlamajā augstumā.

Efektīva attēlu mēroga pārveidošana PHP lietojumprogrammās

Papildini kodu, lai tu varētu iegūt attēlu datus no datubāzes, balstoties uz nodotu attēla ID. Pārliecinies, ka tev ir metode tavā resursu modelī, lai iegūtu attēlu datus.

Efektīva attēlu skalēšana PHP lietojumprogrammās

4. Aprēķini jauno platumu

Tagad nāk klāt jaunā platuma aprēķins. Tajā pašā laikā mēs nolasām attēla oriģinālo platumu un augstumu, lai saglabātu proporciju.

Screenshot_567

5. Izveido jauno attēlu

Pēc tam, kad jaunais platums ir aprēķināts, tu izveido jaunu attēlu ar funkciju imagecreatetruecolor(). Šajā funkcijā norādi jauno platumu un augstumu.

Efektīva attēlu izmēru maiņa PHP lietotnēs

Izmanto funkciju imagecopyresized(), lai skalētu orģinālo attēlu uz jauninātiem izmēriem.

Efektīva attēlu mērogošana PHP lietojumprogrammās

6. Izvadīt skalēto attēlu

Lai veiksmīgi atgrieztu attēlu pārlūkā, tu izmanto izvades buferi. Tu izmanto imagejpeg() vai imagepng(), atkarībā no tā, kādu formātu izmanto.

Šajā brīdī vienmēr jānodrošina, ka buferis tiek attīrīts, lai izvairītos no atmiņas noplūdēm. Noslēgumā tu atgriez datus no funkcijas, lai attēls tiktu attēlots.

Efektīva attēlu mērogošana PHP lietojumprogrammās

7. Pārbaudi īstenošanu

Tagad tu vari pārbaudīt savu kontrolieri tieši pārlūkā. Tu vari nodot konkrēto attēla ID caur URL un tas tiks parādīts_scaled. Pārliecinies, ka tu arī pārbaudi kļūdas un sūti attiecīgos HTTP galvenes, ja attēls nav atrasts.

Efektīva attēlu mērogošana PHP lietojumprogrammās

Ja attēls netiek pareizi attēlots, pārbaudi kodu meklējot potenciālas kļūdas vai rakstības kļūdas. Ja nepieciešams, pielāgo attēla parametrus.

Efektīva attēlu mērogošana PHP lietotnēs

8. Ievies kešatmiņas risinājumu

Ilgtermiņā tu būtu jāpārdomā kešatmiņas risinājuma ieviešana. Tas ļauj saglabāt reizi ģenerētus, izmērītus attēlus ātrākai piekļuves ātrumam turpmākajās pieprasījuma reizēs. Tas ietaupa procesora resursus un laiku.

Kopsavilkums – Bildes Skalēšana Orientētā Tīmekļa Programmēšanā ar PHP

Šajā apmācībā tu esi iemācījies, kā skalēt attēlus savā PHP lietojumprogrammā. Sākot ar Image kontroliera izveidi, es tev parādīju, kā dinamiski pielāgot attēlus un veikt efektīvus aprēķinus, lai sasniegtu vienotu augstumu. Ar papildu optimizācijām un kešatmiņas mehānismiem vari uzlabot savas lietojumprogrammas veiktspēju.

Bieži uzdotie jautājumi

Kāds ir attēlu skalēšanas mērķis?Attēlu skalēšana uzlabo lietojamību un ielādes ātrumu tīmekļa lapām.

Kā es varu pārliecināties, ka mans attēls tiek pareizi skalēts?Pārliecinies, ka saglabā proporcijas, aprēķinot platumu proporcionāli augstumam.

Kādi ir kešatmiņas risinājuma ieguvumi?Kešatmiņas risinājums saglabā jau izmērītus attēlus, samazinot aprēķinu slodzi un ielādes laiku atkārtoti piekļuves gadījumos.

Vai kešatmiņas risinājums ir obligāts?Lai gan tas nav obligāts, to ļoti iesaka, lai saglabātu sistēmas resursus un uzlabotu veiktspēju.