Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Pinadaling Pagpapalit ng Sukat ng Larawan sa PHP

by
Difficulty:IntermediateLength:LongLanguages:

Tagalog (Wikang Tagalog) translation by Robert Alexander (you can also view the original English article)

Ginusto niyo ba kailanman ng para sa lahat ng layunin, na madaling gamiting paraan mg pagpapalit ng sukat ng inyong mga larawan sa PHP? Kung gayon, yan ang kung para saan ang mga klase ng PHP – magagamit ulit na mga piraso ng pagpapaandar na tinatawag nating upang gawin ang maduduming trabaho sa likod ng mga eksena.  Matututunan natin kung paano lumikha ng ating sariling klase na magagawa ng maayos, at saka napapalawak. Ang pagpapalit ng laki ng larawan ay madali dapat. Gaano kadali? Paano kung tatlong hakbang!


Pagpapakilala

Upang bigyan kayo ng mabilis na sulyap at kung ano ang aming sinusubukang makamtan sa ating klasa, ang klase dapat ay:

  • Madaling Gamitin
  • Hindi umaasa sa format. I.E.,bukas, pagpapalit ng sukat, at nakakapagsave ng iba’t ibang mga format ng mga larawan.
  • Matalinong pag-aayos ng sukat – Walang pagbabaluktot ng larawan!

Tala: Hindi ito tutoryal kung paano lumikha ng mga klase at mga bagay, at kahit na ang kasanayang ito ay makakatulong, hindi ito kailangan upang masundan ang tutoryal na ito.

Madami ang dapat na masaklaw – Simulan na natin.


Hakbang 1 Paghahanda

Magsisimula tayo nang madali. Sa inyong ginagawang sanggunian gumawa ng dalawang files: isang tinatawag na index.php, ang isa ay resize-class.php


Hakbang 2 Pagtawag sa Bagay

Upang mabigyan kayo ng ideya kung ano ang sinisubukan naming makamtan, sisimulan natin sa pamamagitan ng pagcode sa mga tawag na gagamitin natin sa pagpapalit ng sukat ng mga larawan. Buksan ang inyong index.php na file at idagdag ang sumusunod na code.

Katulad ng nakikita niyo, mayroong magandang katwiran sa kung ano ang ating ginagawa. Buksan natin ang file na larawan, iset natin ang mga sukat sa gusto nating sukat ng larawan, at ang uri ng pagpapalit ng sukat.
Pagkatapos ay isave natin ang larawan, piliin ang mga ayos ng larawan na gusto natin at ang kalidad ng larawan. I-save at isara ang inyong index.php na file.

Mula sa code sa itaas ay makikiata niyo na nagbubukas tayo ng jpg na file ngunit nagsesave tayo ng gif. Tandaan, ito ay tungkol lahat sa kakayahang sumunod.


Hakbang 3 Balangkas ng Klase

Ang Object-Oriented Programming (OOP) nito ang nagpapangyaring possible ng kahulugan ng kadaliang ito. Isipin ang klase tulad ng huwaran; maaari mong palooban ang datos – iba pang pabalbal na tawag na talagang nangangahulugan lamang ng pagtatago ng datos. Pagkatapos ay maari nating gamitin ulit ang klaseng ito ng paulit-ulit na hindi kailangang isulat muli ang kahit alin sa mga code ng pagpapalit ng sukat – kailangan mo lamang tumawag ng akmang mga paraan katulad lamang ng ginawa natin sa pangalawang hakbang. Pagkatapos malikha ng ating huwaran, lumikha tayo ng mga pagkakataon sa huwarang ito, tinatawag na mga bagay.

"Ang tungkulin ng pagkakabuo, tinatawag na tagapagbuo, ay espesyal na paraan ng klase na tinatawag kapag lumikha ka ng bagong bagay."

Simulan natin ang paglikha ng ating klase ng pagpapalit ng sukat. Buksan ang inyong resize-class.php file. Ang nasa ibaba ay talagang batayang klase ng kaayusan ng balangkas na pinangalanan kong 'resize'. Itala na ang nagbabagong klase na linya ng puna; ito ay kung saan tayo ay magsisimulang magdadagdag ng ating mahalagang mga nagbabago mamaya.

Ang tungkulin ng pagkakabuo, tinatawag na tagapagbuo, ay espesyal na paraan ng klase (ang terminong “paraan” ay katulad ng tungkulin, ngunit, kapag pinag-uusapan ang mga klase at mga bagay ang terminong paraan ang madalas ginagamit) na tinatawag ng mga klase kapag gumawa ng bagong bagay. Ito ang nagpangyaring maging angkop tayo upang makapagsimula – na gagawin natin sa susunod na hakbang.

Itala na ito ay may dobleng salungguhit para sa paraan ng pagbuo.


Hakbang 4 Ang Tagapagbuo

Babaguhin natin ang paraan ng pagkabuo sa itaas. Una, ipapasa natin ang pangalan ng file (at ang daan) ng ating larawan na papalitan ang sukat. Tatawagin natin itong nagbabago $fileName.

Kailangan nating buksan ang file na ipinasa sa PHP (mas particular ang PHP GD Library) upang mabasa ng PHP ang larawan. Gagawin natin ito sa pamamagitan ng custom na paraan 'openImage'. Makakarating ako sa kung paano gumagana
ang paraan na ito mayamaya lamang, pero sa ngayon, kailangan nating isave ang resulta bilang nagbabagong klase. Ang nagbabagong klase ay basta nagbabago lamang – ngunit ito ay particular sa ganoong klase. Natatandaan niyo ba ang klase ng nagbabagong puna na binanggit ko kanina? Idagdag ang 'larawan' bilang pribadong nagbabago sa pamamagitan ng pagtipa ng 'Pribado $image;'. Sa pamamagitan ng pag-seset ng pagbabago bilang 'Pribado' isineset mo ang sakop ng ganoong pagbabago upang ito ay mabuksan lamang ng ganoong klase. Mula ngayon maaari na tayong tumawag sa ating nakabukas na larawan, na tinatawag na pinagmulan, kung alin gagawin natin kapag nagpalit tayo ng sukat.

Habang nandito tayo, itago natin ang taas at lapad ng larawan. May pakiramdam ako na ang mga ito ay magiging kapaki-pakinabang mamaya.

Mayroon ka na dapat ngayon ng mga sumusunod.

Ang mga paraang imagesx at imagesy  ay ginawa sa mga tungkulin na bahagi ng GD na aklatan. Binawi nila ang lapad at taas ng inyong larawan, nang magkasunod.


Hakbang 5 Pagbubukas ng Larawan

Sa nakaraang hakbang, tinawag natin ang nakacustom na paraan na openImage. Sa hakbang na ito lilikha tayo ng ganoong paraan. Gusto nating ang script ang mag-isip para sa atin, kaya depende sa klase ng file na ipinasa, ang script dapat ang makaalam kung anong tungkulin ng GD na aklatan ang tinatawag nito upang magbukas ng larawan. Ito ay madaling nakakamtan sa pamamagitan ng pagkukumpara ng karugtong ng mga file sa paglilipat na pahayag.

Ipapasa natin ang ating file na gusto nating palitan ang sukat at ibabalik ang mga pinanggalingan ng mga file.


Hakbang 6 Paano Magpalit ng Sukat

Dito nangyayari ang pagmamahal. Ang hakbang na ito ay talagang pagpapaliwanag lamang king ano ang ating gagawin – kaya walang gawaing-bahay dito. Sa susunod na hakbang, lilikha tayo ng publikong paraan na tatawagin nating upang gumawa ng ating pagpapalit ng sukat; kaya nagbibigay ito ng kahalugan na ipasa ang ang lapad at taas, pati na ang impormasyon tungkol sa kung paano natin palitan ang sukat ng larawan. Pag-usapan natin ang tunkol dito sandali. Magkakaroon ng mga eksena kung saan gusto mong palitan ang sukat ng larawan sa eksaktong sukat. Magaling, isama natin ito. Ngunit magkakaroon din ng mga oras na kailangan mong palitan ang sukat ng daan-daang mga larawan at ang bawat larawan ay may iba’t ibang proporsyon ng anyo – isipin ang mga portrait na larawan. Ang pagpapalit ng sukat ng mga ito sa eksaktong sukat ay magdudulot ng matinding pagbaluktot. Kung titingnan ang ating mga pagpipilian upang maiwasan ang pagkabalukton maaari tayong:

  1. Palitan ang sukat ng larawan sa pinakamalapit na kaya natin sa ating bagong mga sukat ng larawan, habang pinapanatili ang proporsyon ng anyo.
  2. Palitan ang sukat ng larawan sa pinakamalapit na kaya natin sa ating bagong mga sukat at putulin ang natitira.

Ang parehong pagpipilian ay maaari gawin, depende sa inyong pangangailangan.

Oo. Susubukan nating gawin ang mga nasa itaas. Upang maglagom, magbibigay tayo ng mga pagpipilian upang:

  1. Magpalit ng sukat sa pamamagitan ng eksakto ang lapad/taas. (eksakto)
  2. Magpalit na sukat sa pamamagitan ng lapad – ang eksaktong lapad ay iseset, ang taas ay iaayos ayon sa proporsyon ng anyo. (pahiga)
  3. Magpalit ng sukat sa pamamagitan ng taas – katulad ng pagpapalit ng sukat sa pamamagitan ng lapad, ngunit ang taas ang iseset at ang lapad ang iaayos ng dinamika. (patayo)
  4. Kusang pag-alam ng mga pagpipiliin 2 at 3. Kung kayo ay gumagawa ng sila sa polder na may iba’t ibang sukat ng mga larawan, hayaang ang script ang umalam kung paano pangasiwaan ito. (auto)
  5. Palitan ang sukat, pagkatapos ay putulin. Ito ang paborito ko. Eksaktong sukat, walang pagbaluktot. (pinutol)

Hakbang 7 Pagpapalit ng Sukat Gawin natin ito!

May dalawang bahagi ang paraan ng pagpapalit ng sukat. Ang una ay ang pagseset ng pinakamainam na lapad at taas para sa ating bagong larawan sa pamamagitan ng paglikha ng ilang nakacustom na mga paraan – at siyempre ang pagpapasa sa ating pagpapalit ng sukat na 'pagpipilian' katulad ng inilalarawan sa itaas. Ang lapad at taas ay ibinabalik bilang hanay at isineset ang kaniya-kaniyang mga pagbabago. Maging Malaya na 'ipasa ang pinagmulan' – ngunit hindi ako malaking tagahanga niyan.

Ang pangalawang bahagi ay kung alin ang gumagawa ng totoong pagpapalit ng sukat. Upang mapanatiling mababa ang sukat ng tutoryan na ito, hahayaan ko kayong magbasa sa sumusunod na mga tungkulin ng GD:

Isinave din naming ang kinalabasan ng imagecreatetruecolor na paraan (bagong totong may kulay na larawan) bilang nagbabagong klase. Idagdag ang 'private $imageResized;' sa inyong ibang mga nagbabagong klase.

Ang pagpapalit ng sukat ay ginagawa sa pamamagitan ng PHP modyul na kilala bilang GD na aklatan. Marami sa mga paraan na ginagamit natin ay nakapaloob sa aklatang ito.


Hakbang 8 Ang Puno ng Pagpapasya

Kapag mas marami kayong ginagawa ngayon, mas kakaunti ang gagawin niyo kapag nagpalit kayo ng sukat. Ang paraang ito ay pinili ang rutang dadaanan, nang may layuning makakuha ng pinakamainam na pagpapalit ng sukat na lapad at taas ayon sa inyong mga pagpipiliang pagpapalit ng sukat. Tatawagin ang angkop na paraan, kung saan lilikhain natin sa susunod na hakbang.


Hakbang 9 Pinakamainam na mga Sukat

Tinalakay na natin lkung ano ang ginagawa ng apat na paraang ito. Ang mga ito ay mga batayang matematika lamang, na nagkakalkula ng ating pinakamabuting akma.


Hakbang 10 I-crop

Kung pinili mo ang pagputol – yun ay, ginamit mo ang pagpuputol na pagpipilian, kung gayon ay mayroon ka pang isang maliit na hakbang. Puputulin natin ang larawan mula sa
gitna. Ang pagpuputol ay katulad na katulad ang proseso sa pagpapalit ng sukat ngunit may ilang higit na batayan sa pagpapalit ng sukat na ipinapasa.


Hakbang 11 I-save ang Larawan

Parating na tayo doon; halos tapos na. Oras na ngayon na i-save ang larawan. Ipasa natin ang daan, at ang kalidad ng larawan na gusto natin na umaabot mula 0-100, 100 bilang pinakamahusay, at tawagin ang akmang paraan. Ilang mga bagay na kailangang tandaan tungkol sa kalidad ng larawan: ang JPG  ay gumagamit ng iskala na 0-100, 100 bilang pinakamahusay. Ang GIF na mga larawan ay walang pag-aayos ng kalidad ng larawan. Meron ang PNG, ngunit ginagamit nila ang iskala na 0-9, 0 bilang pinakamahusay. Hindi ito mabuti bilang hindi natin maaaring asahan ang ating mga sarili na matandaan ito sa bawat oras na gusto nating mag-save ng larawan. Gumagawa tayo ng kaunting hiwaga upang maging ayon sa pamantayan ang lahat.

Ngayon din ay magandang oras upang sirain ang ating pinagmnulan ng larawan upang mabakante ang ibang memorya. Kung gagamitin natin ito sa produksyon, maaaring magandang ideya din ito upang kuhanan at ibalik ang resulta ng nakasave na larawan.


Konklusyon

Kung gayon yan na yon, mga kamag-anak. Salamat sa inyo sa pagsunod sa tutoryal na ito, inaasahan kong Nakita ninyong kapaki-pakinabang ito. Tatanggapin ko ang inyong tugon, sa pamamagitan ng mga puna sa ibaba.

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.