aangepast aan de omvang en het beeld, de aanpassing van de grootte van een PHP uit beeld,,,,,,,,,, 18, 38 - eenheid,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen.,, wilde een algemene, gemakkelijk aan uw beeld van de methode in de php?- hergebruik van functionele luchtruimblokken, noemen we het vuile werk achter de schermen PHP klasse is.We zullen moeten leren hoe te creëren onze eigen soort, zou het goed zijn gebouwd, en kan worden uitgebreid.Aanpassing zou gemakkelijk moeten zijn.Hoe makkelijk is?Hoe de drie stappen.,,, wordt, geef je een snelle blik, ons probeert te bereiken met onze klasse, van de klasse moet gemakkelijk te gebruiken formaat:,, de onafhankelijkheid.Dat is open, de aanpassing van verschillende omvang, en het behoud van de grafische vorm, intelligente aanpassing van de grootte van - geen verstoring.Opmerking: dit is niet een, over het creëren van klasse en het doel van training, hoewel deze vaardigheden zal helpen, maar niet noodzakelijk te volgen van deze handleiding.Je werkt in de gids voor het creëren van twee documenten: een bekend als andere resize-class.php index.php, stap 2, het voorwerp, het geeft je een idee van wat we willen bereiken, zullen we beginnen met de code zullen we gebruik maken van een aanpassing van de omvang van de eisen van het beeld.Open je index.php documenten, wordt de volgende code, zoals je kan zien, is er een goede logica in wat wij aan het doen zijn.We openen we de afmetingen van een beeld van documenten, beelden, we moeten aanpassen aan de omvang van de aanpassing van de omvang, en dan gaan we, behoud van het beeld, de keuze van de vorm en de beelden, en we hopen dat het imago van de kwaliteit.Red en sluit je index.php documenten, met inbegrip van klasse ///////* * * * * * * (met inbegrip van de "grootte klassen. Php"); * * * * * * * * * * * * * * * * * * * * * 1) ////////- beeld - resizeobj dollar = nieuwe aanpassing ('sample. ///////* * * * * * * * * * * * * * "* * * * * * *); 2) de omvang van de aanpassing van de keuze van de exacte beelden (portret, landschap,: en de auto 's, gewassen) resizeobj dollar - > resizeimage (150100", de "); * * * * * * * * * * * * * * * * * * * * * 3) ///////behoud van het imago van resizeobj dollar - > saveimage ('sample-resized. De FSIM", 100); van deze code, kan je zien dat we open JPG maar het behoud van de FSIM.Weet je nog, dit is alles over de flexibiliteit van de maatregelen 3.,,., het oop), waardoor deze een gevoel van rust.Is van mening dat een soortgelijke vorm, kan je de gegevens van het pakket - een andere terminologie, echt alleen maar betekent dat de geheime gegevens.We kunnen gebruik maken van dit soort zonder opnieuw een van je "code - nodig is een beroep te doen op de manier zoals we in de tweede stap.Als je een van ons, en we creëren van dit patroon, bekend als object, "de fabrikant, bekend als de fabrikant van het creëren van nieuwe materialen, is een bijzondere categorie van de methode", laten we beginnen met het creëren van de aanpassing van de omvang van onze soort.Open je resize-class.php dossier.Hieronder is een zeer fundamentele soort structuur, ik genaamd "maat".Neemt nota van de opmerking van dergelijke variabelen; dit is beginnen we met de verhoging van onze belangrijke categorieën van variabele, structuur en functie, bekend als de fabrikant, is een speciale methode (de "methode" hetzelfde is, maar, als je een nieuwe objecten, roept deze klasse en de methode is vaak gebruik van het voorwerp.Dit maakt het voor ons doen. We zullen in de volgende klas (///////__construct openbare functie van de * * * * * * * variabelen () {}}, dat is een dubbele, benadrukt dat de opbouw van een methode voor de fabrikant van stap 4.,,, moeten we Voor de wijziging van de fabrikant.Ten eerste, we zullen in het dossier (weg) door de aanpassing van de omvang van onze beelden.We noemen deze variabelen die naam.We moeten een dossier openen, door PHP (meer in het bijzonder PHP bibliotheek GD), een beeld kan lezen.We openimage aangepaste methode die zo doen.Ik zal worden hoe deze methode, en dat op een moment, maar nu moeten we de resultaten voor een variabele.Een soort van variabele is maar een variabele, maar het bepaalde in deze categorie.Weet je nog wat ik zei over de klas variabelen?De toevoeging van "foto 's" als een privé - variabelen, door een "privé - $beeld;".De variabele voor de "eigen", je zal deze variabele reikwijdte, dus alleen door de toegang tot de variabele.Van nu af aan, dan bellen we openen we de beelden, bekend als de middelen, en dat zullen we doen, als we maat, terwijl we in het geheugen, laten we de beelden van de hoogte en breedte.En ik heb het gevoel dat deze later zou nuttig kunnen zijn, je moet nu de volgende klas (///////soort variabelen * * * * * * * de privé - eigendom van de breedte van het beeld;; particuliere $hoogte; de functionele __construct ($naam) {///////* * * * * * * open bestand dollar - > beeld = dollar - > openimage ($documenten naam ///////* * * * * * *); door de breedte en hoogte van dollar - > breedte = imagesx ($- > beeld); de dollar - > lengte = imagesy ($- > beeld);}}, methoden en imagesy imagesx is gebouwd als een deel van de functies van de bibliotheek GD.Ze zoeken je de breedte en lengte van het beeld, respectievelijk, stap 5. Open de beelden, in de vorige stap, bellen we de openimage aangepaste methoden.Bij deze stap, creëren we de methode.We hopen dat dit script voor ons te denken, dus het hangt af van wat de aard van het document wordt aangenomen, het script moeten bepalen welke gadolinium bibliotheek, het beeld van een open.Dit is in vergelijking met de uitbreiding van de documenten en verklaringen te realiseren, en wij in onze documenten, moeten we de aanpassing van de middelen en de terugkeer van de documenten, private functie openimage (documenten) {///////strtolower worden uitgebreid van $* * * * * * * = (strrchr ($documenten, ""); de schakelaar (uitbreiding) - zaak. JPG ": de zaak. JPEG:img = @ imagecreatefromjpeg dollar (documenten); de breuk; zaak". De FSIM ": $IMG = @ imagecreatefromgif (documenten); de schuld; zaak" ". Papoea - Nieuw - Guinea: $IMG = @ imagecreatefrompng (documenten); de schuld; standaard: $IMG - = valse; breken;} terug IMG;}, hoe, stap 6Maat, dit is liefde gebeurt.Deze stap is eigenlijk alleen maar een verklaring, en we zullen doen - dus geen huiswerk.De volgende stap, creëren we een gemeenschappelijke methode, en we zullen voor de uitvoering van de aanpassing van onze maat, dus het maakt de pass in de breedte en hoogte, en hoe moeten we de omvang van de aanpassing van de betekenis van het beeld.Laten we het over dit moment.Wil je een scène, aanpassing van de omvang van de precieze omvang van de beelden.Geweldig, laten we met dit.Maar er zijn ook tijd, je moet de aanpassing van honderden beelden en elk beeld heeft een ander aspect - van mening dat de foto 's.Een verandering in een precieze afmetingen kan leiden tot een ernstige verstoring van de optie. Als we kijken naar wat we kunnen, om te voorkomen dat de vervorming van de omvang van de aanpassing voor beeld:,, kunnen we dichter bij onze nieuwe omvang van het beeld, en dan ook nog steeds voor ons, de aanpassing van de Omvang van een beeld kan bijna onze nieuwe beelden en de rest van de omvang van de,, mogelijk is, afhankelijk van wat je nodig hebt, ja.We zullen proberen om met alle bovengenoemde.Kortom, wij zullen de mogelijkheid bieden:,, de aanpassing van de precieze breedte en hoogte.Juist, de aanpassing van de grootte van de breedte van de breedte, lengte worden aangepast in verhouding.(landschap), zoals aangepast aan de omvang van de breedte van de breedte van de omvang, maar de aanpassing van de hoogte en breedte kan worden aangepast.(verticale), automatische vaststelling van de opties 2 en 3.Als je die foto 's van verschillende grootte een map, laten bepalen hoe dit script.(automatisch), maat, dan snijden.Dit is mijn favoriet.De nauwkeurigheid, niet vervormd.(de), verdere aanpassing, 7.Laten we het doen!Zijn er twee delen van de aanpassing van de methode.De eerste is door het creëren van een aangepaste methoden om onze nieuwe beelden van de breedte en hoogte van de beste, natuurlijk, in onze maat "optie" die, zoals hierboven vermeld.De breedte en lengte is teruggekeerd als een generator, en de vaststelling van de variabelen voor de respectieve.Voel je vrij "als referentie" - maar ik ben niet echt een grote fan, en ten tweede wat de werkelijke omvang van zijn uitvoering.Met het oog op het behoud van de omvang van deze handleiding is, laat ik het je lezing van de volgende functies: GD, een nieuwe kleur, echt, imagecopyresampled.,, we redden van een echt nieuwe kleur en de produktie van (een nieuwe kleur beeld) als een variabele.De toevoeging van "private imageresized dollar; met je andere variabelen, de omvang van de module is PHP genaamd bibliotheek GD.Velen van ons de gebruikte methode is die door de bibliotheek. ///////* * * * * * *, toegevoegd aan de categorie van de particuliere imageresized dollar variabelen; openbare functie, resizeimage (newwidth $van de hoogte van de selectie van nieuwe, voor de "automatische" * * * * * * *) {///////de breedte en hoogte van de beste keuze optionarray = $getdimensions - > (newwidth dollar een nieuw niveau van de strtolower ($)); optimalwidth dollar = dollar optionarray ['optimalwidth]; optimalheight dollar = dollar'optimalheight optionarray [']; ///////* * * * * * * de bemonstering - het creëren van een beeld van de omvang van het doek op de X - en Y - dollar - > imageresized = een nieuwe kleur echt beeld (optimalwidth dollar de dollar optimalheight); imagecopyresampled ($- > imageresized dollar - > beeld, 0, 0, 0, 0, optimalwidth dollar, optimalheight dollar - > de breedte van de hoogte van de dollar - > ///////* * * * * * *); ofDe keuze van het gewas, zo als ($= = "oogst") {% dit > gewassen (optimalwidth dollar, optimalheight dollar, newwidth dollar, stijging van de dollar);}}, de besluitvorming, de stappen 8 bomen, het werk dat je doet, hoe meer je misbruik van je aan te passen.Deze methode kiezen voor de beste route, de aanpassing van de doelstellingen van de breedte en lengte, volgens jouw maat.Het zal een overeenkomstige methode, en we zullen in de volgende voor de oprichting van een privé - functie, getdimensions (newwidth dollar, stijging van de dollar, $) {schakelaars ($) (zaak C - "exacte": optimalwidth = $dollar newwidth; optimalheight = nieuwe hoogte; schuld; portret ": $optimalwidth = dollar - > getsizebyfixedheight (nieuwe hoogte); optimalheight = dollar te verbeteren; de schuld; zaak" landschap ": optimalwidth = $dollar newwidth; optimalheight = en > getsizebyfixedwidth ($newwidth); breuk; zaak" automatisch ": optionarray dollar = dollar - > getsizebyauto (newwidth dollar newheig dollar.Ht); optimalwidth dollar = dollar'optimalwidth optionarray []; optimalheight dollar = dollar optionarray ['optimalheight]; schuld; "gewassen": optionarray dollar = dollar - > getoptimalcrop (newwidth dollar verhogen, $); optimalwidth = optionarray ['optimalwidth]; [optimalheight = optionarray dollar'optimalheight]; breken;} terug naar De generator ('optimalwidth "= > optimalwidth dollar" optimalheight "= > optimalheight dollar);}, stap 9 van de optimale omvang van die discussie hebben we al deze vier manieren doen.Ze is gewoon de wiskundige berekeningen, echt, we hebben de meest geschikte, private functie getsizebyfixedheight ($meer dan $) {% = - > breedte /dollar - > verbetering van de hoogte; newwidth = dollar * $dan terug newwidth;}; particuliere functie getsizebyfixedwidth ($newwidth) {dollar dan = de dollar - > lengte /breedte; verbetering van de dollar - > $= newwidth * dan; weer een nieuwe hoogte;} privé functie getsizebyauto (newwidth dollar, stijging van de dollar) {als ($- > hoogte < de dollar - > ///////* * * * * * *) van de breedte van het beeld van een breed (aanpassing van de omvang van de het landschap) {% optimalwidth = $newwidth; optimalheight dollar = dollar - > getsizebyfixedwidth ($newwidth);} elseif ($- >T > de dollar - > breedte) ///////* * * * * * * beeld worden aangepast (portret) {% optimalwidth = dollar - > getsizebyfixedheight ($; verbetering van de hoogte van de optimalheight = nieuwe);} andere ///////* * * * * * * resizerd is een partij is voor het imago van {als ($meer < newwidth dollar) {% optimalwidth = $newwidth; optimalheight dollar = dollar - > getsizebyfixedwidth ($newwidth);} anders als ($meer > newwidth dollar) {% optimalwidth = dollar - > getsizebyfixedheight ($; verbetering van de hoogte van de optimalheight) = nieuwe} {////////; anders is aangepast aan een * * * * * * * optimalwidth = dollar. $newwidth; optimalheight = nieuwe hoogte;}} terug - ('optimalwidth "= > optimalwid dollarDag, "optimalheight" = > optimalheight dollar);} privé functie getoptimalcrop (newwidth dollar, meer dan de hoogte van de dollar) {% = USD - > lengte /dollar nieuwe hoogten; breedte = dollar - > de breedte van newwidth; als (lengte breedte meer dan $<) {$ratio = $lengte dan andere;} {%) = $breed;} $optimalheight = dollar - > de hoogte van de koers van de dollar /dollar; optimalwidth = dollar - > de verhouding breedte /dollar, is een reeks ('optimalwidth "= > optimalwidth dollar" optimalheight "= > dollar optimalheight);}, stappen in de richting van de gewassen, de tien, als je de keuze van gewassen - en dat is in de selectie van gewassen, je gebruikt, dan heb je meer dan een kleine stap.We zullen in het centrum van dat beeld.Het is maar een paar maten aanpassing van parameters die een soortgelijk proces van privé - functie, de gewassen (optimalwidth dollar, optimalheight dollar, newwidth dollar, stijging van de dollar) {///////- * * * * * * * Centrum vinden. Dit zal worden gebruikt voor de cropstartx dollar = (optimalwidth dollar /2 dollar) - (newwidth /2 dollar cropstarty = (optimalheight); de dollar /2) - ($nieuwe hoogte /2 dollar); de = dollar - > imageresized; ///////de vernietiging van een beeld ($- > imageresized); ///////* * * * * * * nu vanuit het centrum naar de exacte afmetingen van de dollar - > imageresized = een nieuwe kleur echt beeld (newwidth dollar te verbeteren, - dollar (USD); imagecopyresampled - > imageresized, 0 dollar, 0 dollar van de gewassen, de cropstartx, cropstarty $, newwidth, nieuwe hoogte, newwidth dollar, de verbetering van de dollar);}, 11, stappen met het beeld dat we goedDaar is bijna klaar.Nu is het tijd om het beeld.We passeren, en het imago van de kwaliteit van 0-100100 willen wij als de beste, en roept de geschikte methode.Een paar dingen over de beeldkwaliteit noot: JPG met 100, 100 is de beste.Het beeld van de kwaliteit van de FSIM niet geregeld.Papoea - Nieuw - Guinea, maar zij gebruik te maken van de omvang van de - 0 is de beste.Dit is niet goed, want we kunnen niet verwachten dat je dit elke keer als we het beeld dat je wilt redden.We doen een beetje magie voor alles, een openbare taak saveimage ($redden weg, voor de beeldkwaliteit = "100" * * * * * * *) {///////strrchr worden uitgebreid = dollar (USD redden weg, "); $(USD = strtolower uitgebreid); - ($) (zaak C -" JPG: zaak. (imagetypes. Foto: als "() & img_jpg) {imagejpeg ($- > imageresized dollar, het behoud van de kwaliteit van het pad, beeld);} breken; zaak". De FSIM ": als (imagetypes () & img_gif) {imagegif ($- > behoud van de weg imageresized, dollar);} gebroken," Papoea - Nieuw - Guinea ": ///////* * * * * * * de omvang van 100 - de kwaliteit van scalequality dollar = ronde ($kwaliteit /100) * * * * * * * * * * * * * * 9); ///////0 van de kwaliteit is niet de beste.9 dollar = 9 dollar invertscalequality scalequality; als (imagetypes () & img_png) {imagepng ($- > imageresized dollar, behoud van de weg, het invertscalequality);}; ///////...* * * * * * * * * * * * * * andere standaard: ///////* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *.Pauze,} de vernietiging van een beeld ($- > imageresized);}, nu is een goede tijd om onze beelden van middelen, een herinnering.Als je met deze in de productie, het is ook een goed idee om terug te keren, en behoud van de beelden.Bedankt dat je de volgende les, ik hoop dat je vond dat het nuttig kan zijn.Ik zal je bedanken feedback door de volgende opmerkingen.
PHP
Previous:Codeigniter heeft niets
Next Page:Uit het dossier codeigniter: