dynamische Sprite light kader, een dynamisch kader,,,,,,,,,, deelt, delen, delen,,,,,, het netwerk van maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, en in Nettuts+., les, je zal leren hoe te komen tot een dynamisch kader "elf" van de iconen van uw keuze.Het kader omvat elf beeld van een elf die overeenkomt met de klasse en stijl van onze elf icoon in beeld, en: //europa.eu.int /comm /preview pagina 's, we kunnen gebruik maken van een snelle handleiding. Het kader van de "dynamische, SPRITE kader" zal je gebruik te kunnen maken van alle iconen uit De relevante categorieën die naam? De naam van de rechtstreeks betrokken icoon, aan het einde van de les, je moet voelen van je eigen geest moeten dynamisch beeld te bereiken en volledig gebruik te maken van dit systeem biedt vele voordelen.,, moeten we met een simpele vorm voor het verzamelen van de gegevens: //europa.eu.int /comm /.Laten we zien hoe dit formulier;.Html> doctype; < http: //europa.eu.int lang= "en" > < head> < title>, SPRITE Builder< /title> < een gebruikersnaam "de utf - 8" > < link rel = "stylesheet" = "text/css": /main.css "> < /head> < body> < div ="; content "> < de vorm van action=" sprite_builder.php "methode =" post "> < fieldset> < legend>, SPRITE Builder< /legend> < het etiket"; de icon_source "=" etiket "> beeld Directory:< /label> < - =" icon_source "=" ui-corner-all "naam" tekst "=" icon_source. "" > < voor de "icon_width" = "etiket" enGT; het Width:< /label> < - = "icon_width" = "ui-corner-all" = "tekst" naam "icon_width." "> < voor de" icon_height "=" etiket "> het Height:< /label> < - =" icon_height "=" ui-corner-all "=" tekst "naam" icon_height. "" > < voor de "x_offset" = "etiket" > het X - Offset:< /label> < - = "icon_width" = "ui-corner-all" = "tekst" naam "x_offset." "> < voor De" y_offset "=" etiket "> het Offset:< y; /label> < - =" y_offset "=" ui-corner-all "Type = "tekst" naam "y_offset." "> < div =" Radio "> < voor de" icon_type "=" etiket "> beeld Type:< /label> < div =" radioWrap "> - = <" Radio "naam" icon_type[] "van Papoea - Nieuw - Guinea". > PNG< /div> < div = "radioWrap" > - = < "Radio" naam "icon_type[]". "Ik" > JPEG< /div> < div = "radioWrap" > - = < "Radio" naam "icon_type[]." gif "> GIF< /div> < /div> <.- div.radio - > < = "icons_per_row" = "etikettering" > etiketten; elke rij icoon:% LT% /etiket > < id = "icons_per_row" = "BU in alle hoeken van de tekst" = "naam" icons_per_row "waarde" > < het etiket "target_directory" = "etikettering" > doelstellingen catalogus: < /etiket > < id = "target_directory" = "BU in alle hoeken van de tekst" = "naam" target_directory waarde "=" > < = "target_name" = "etikettering" > etiketten; naam: < /- doelstellingen > < id = "target_name" = "BU in alle hoeken van de tekst" = "naam" target_name "=" > < knop.E = "dienen" > de indiening van < /knop > < /gebied > < /vorm > < /div > < /body > < /html >, zoals je kan zien, hebben we hierboven, opgericht in de vorm van een eenvoudige de hele pagina 's, de vorm en de resultaten van de sprite_builder.php na onze pagina, in de vorm van zelf zijn er negen verzamelen wat we nodig hebben, icon_source gebied: informatie. Icon_height, icon_width,, x_offset, y_offset, icon_type, icons_per_row, target_directory, target_name, de voorbereiding van onze gegevens,,,,, 1.Na de inspectie -, nu we in de plaats kunnen we alle gegevens verzamelen, we moeten in onze PHP,..., laten we kijken naar alle vormen van velden zijn ingediend, indien de waarde niet van waarde zijn. Die kunnen we alleen maar de gebruikers terug naar de vorm van pagina 's, het bericht, in de Produktie wil je deze vorm van Nagel /veiligheid voor de gebruikers meer, wat feedback geven, laten we de oprichting van een nieuw PHP document "sprite_builder. Php nu zien we alle vormen van gebieden aangewezen is ingediend voor een waarde van <?PHP als lid is ($_post ['icon_source]) & & is ($_post ['icon_width]) & & is ($_post ['icon_height]) & & is ($_post ['icon_type]) & & instellingen ($_post ['icons_per_row]) & & het is ($_post ['target_directory]) & & is ($_post ['target_name])) {} {hoofd of ('location:HTTP://lokaal /? /index. Http: //europa.eu.int);}, 2.Ontsmetting, als aan deze voorwaarden voldoen, in de zin van de na - alle projecten hebben een waarde, zullen we een beetje schoonmaken en de voorbereiding van deze waarden, we creëren een functie voor de voorbereiding van onze gegevens, de functie van de voorbereiding ($post) {% van post = htmlspecialchars (TRIM ($post) naar $post);;}, het voorbereiden () de volgende functies:,, htmlspecialchars - alle gegevens doorgeven aan de voorbereiding van functie "belangrijke" http: //europa.eu.int: //europa.eu.int /comm /entiteiten binnen een symbool, - - dan - alle ruimten van het begin en het einde van het touw,, 3.We zijn de voorbereidingen voor de bouw van een reeks van gegevens, zullen we klaar zijn voor de installatie van onze gegevens na, en het gebouw met die "light" van de waarde van de voorbereiding van een nieuwe installatie. De eerste, zullen we onze "light" - netwerken, en dan beginnen we met die alle voor - en na array_keys, die generator. Bond, zullen we controleren de waarde van elke post is een touw, als de waarde van een string, zullen we het toe aan het gebruik van netwerken - als haar naam in onze "light" - reeks, van de installatie. De lus hebben we na "de weg", "light"). Zullen we de output_path "in verband met de definitie van" target_directory var target_name varianten, let op, we hebben geen verhoging van het dossier van de uitbreiding is hier, we wordenLater, als gevolg van de "icon_type gebied is een generator, zullen we het dan de waarde die wordt ingediend door de operationele waarde van onze privé - () functie toe te voegen aan onze" light ", is de volgende stap, we zullen - - een icon_name, zullen worden opgenomen in de reeks van onze zoon, sprite_directory), $= opendir ($Sprite ['icon_source"]); image_total dollar = 0; en ($file_name = readdir ($sprite_directory)) {% path_info = ($file_name); als (strtolower ($path_info ['extension]) = = = $Sprite ['icon_type])] [...] ['icon_name {%? = $path_info ['filename]; $image_total + +;}} sorteren ($Sprite ['icon_name "]); $Sprite ['icon_total"] = $image_total;, en "light" - klaar, weNu zal blijven tot onze sprite_builder "object generator objecten, SPRITE.,,,,, 1.Object overzicht, om te doen wat we willen om de efficiënte manieren om dingen te doen, moeten we de oprichting van een object dat zal drie dingen doen:,, het creëren van een beeld van de elfen, het creëren van een beeld van de CSS dossier Sprite achtergrond en komt overeen met het standpunt van de naam en de plaats van de iconen van persoonlijke in Sprite, SPRITE creëren http: //europa.eu.int preview pagina 's en het in verband met de regels van de CSS, 2.Een van onze doelstellingen, het eerste wat we moeten doen, is ons doel om de eigenschappen van het type /klasse en, want we hebben maar een doel dat we geen toegang hebben tot de categorie van de eigenschappen van het dan laten we ze alle particuliere, sprite_builder (particuliere icon_source dollar; de particuliere icon_width particuliere icon_height; de dollar; de particuliere icons_per_row dollar; particuliere target_directory dollar; particuliere target_name dollar; particuliere $weg; particuliere icon_type dollar; particuliere icon_total dollar; particuliere icon_name dollar; particuliere x_offset dollar; particuliere y_offset}, 3 dollar.De fabrikant, nu, creëren we ons van de constructeurs, in onze aannemer, kunnen we de definitie van elk gebruik van ons - - de overeenkomstige waarde van de eigenschappen van een object, waardoor al deze kenmerken in de klas van elke methode, sprite_builder (particuliere icon_source dollar particuliere icon_width; de dollar; de particuliere icon_height dollar; particuliere icons_per_row dollar; particuliere target_directory dollar; particuliere target_name dollar; particuliere $weg; particuliere icon_type dollar; particuliere icon_total dollar; particuliere icon_name dollar; particuliere x_offset dollar; de particuliere y_offset dollar; de functionele sprite_builder ($Sprite) {% dit > icon_source = $Sprite ['icon_source dollar]; - > icoon_width = $Sprite ['icon_width]; de dollar - > icon_height = $Sprite ['icon_height]; de dollar - > icons_per_row = $Sprite ['icons_per_row]; de dollar - > target_directory = $Sprite ['target_directory]; de dollar - > target_name = $Sprite ['target_name]; De dollar - > pad = $? ['path]; de dollar - > icon_type = $Sprite ['icon_type]; de dollar - > icon_total = $Sprite ['icon_total]; de dollar - > icon_name = $Sprite ['icon_name]; de dollar - > x_offset = $Sprite ['x_offset]; de dollar - > y_offset = $Sprite ['y_offset];}}, elfen het beeld is nu klaar om te gaan.Onze volgende stap is begonnen met onze "icon_name die netwerken.Als we die netwerken gaan we het volgende doen:,, volgens onze geest een beeld vormen van de bouwer, creëren we een nieuwe beelden met een van de volgende commando 's, elk symbool imagecreatefrompng, imagecreatefromgif of imagecreatefromjpeg.We zullen de icon_name "en" icon_type eigendom op bepaalde beelden, is de bron van het gebruik van imagecopy, commando 's, we zullen deze icoon gekopieerd naar onze geest.We zullen ons x_position migratie "en de" y_position prestaties die ons zal de omvang van het door ons, de icon_width "en" icon_height prestaties van onze elf, toevoeging van een icoon, vergroten we de icon_per_row_count "1, de volgende, moeten we bepalen of we al naar de" icons_per_row beperken we aangewezen elf gebouw vormen.Als we het hebben, gaan we het volgende doen: in de eerste plaats, moeten we opnieuw berekenen icoon van de verticale positie van een nieuwe lijn voor we beginnen.We zullen met het oog op de y_position "en" icon_height "en" het y_offset ", en dan zullen we opnieuw naar het x_position de standaardinstelling is x_offset eigendom in onze geest bouwer omschreven vorm.Dus, de volgende icon zal worden gekopieerd naar de linkerkant van de Sprite. Nu zullen we opnieuw onze icon_per_row_count "0 heeft in deze geen beeld, tot slot, vergroten we de row_count" 1, we zijn net klaar met een rij, als "icon_per_row_count" tellen niet in overeenstemming met ons icons_per_row. We moeten voor de berekening van de in het kader van x_position maakt een icoon positie verder langs de X - as, nu dit "icoon" is overgenomen van onze geest, we kunnen het gebruik van de vernietiging van een foto 's vernietigen. En we zullen het einde van onze voor de lus om een herhaling van de door ons logo "en kopiëren Elk van de geest van het verleden, we zullen blijven voor de produktie van Sprite beeld van een dossier.Ten eerste, we zullen opnieuw beeld vormen, zodat we het gebruik van passende methoden voor de produktie van Elfen.We zullen met imagepng, imagegif of imagejpeg commando doen, en onze geest het beeld van een dossier, kunnen we gaan vernietigen we de vernietiging van een beeld van GD, functie, commandant. Create_image () {% dit > x_position = dollar - > x_offset; de dollar - > y_position = dollar - > y_offset; de dollar - > icon_per_row_count = 0; de dollar - > sprite_width = (($- > icon_width + $dit > x_offset) * $dit > icons_per_row) + $dit - > x_offset; de dollar - > sprite_height = (($- > icon_height + $dit * * * * * * * *); y_offset) ($- > icon_total /USD - > icons_per_row)) + $dit > y_offset; de dollar - > new_sprite = imagecreatetrueKleur ($this-> sprite_width, $this-> sprite_height); imagesavealpha ($this-> new_sprite, waar); $this-> new_sprite_opacity= imagecolorallocatealpha ($this-> new_sprite, 0, 0, 0, imagefill (127); $this-> new_sprite, 0, 0, $this-> new_sprite_opacity); voor ($this-> icon_name als $image) {als ($this-> icon_type = = = = = = ='png') {$this-> icoon = imagecreatefrompng ("{$this-> icon_source}{$image}.{$this-> icon_type}");} anders als ($this-> icon_type = = = = = = ='gif') {$this-> icoon = imagecreatefromgif ("{$this-> icon_source}{$image}.{$this-> icon_type}");} anders als ($this-> icon_type'jpg'
PHP
Next Page:Codeigniter te beginnen: 5 dagen