... Foto 's van toepassing is, het creëren van een moderne momentopname van een bouwer, 3, 4,,,,,,,,,, deel 1,,,,,,, het netwerk van delen van maandag wat in tuts + koers zal dalen tot slechts 3 dollar.Niet' niet missen. En, je kan op vele plaatsen met foto 's en je camera' s, kies je beelden uploaden, in plaats van een.Deze les zal leren hoe je de foto 's en alles doen wat je wilt, gebruik te maken van een bouwer 4 ruby op rails en PHP.,,,, het uiteindelijke resultaat bekijken, boven de demo link klikken, maar weet je nog dat je geen gebruik kunnen maken van "red" functie, tenzij je het eigen server PHP.Kan je de klik op > de source code "te zien toegepast, stap 1:Flash bouwer bron. En 4 rekening te houden, om volledig gebruik te maken van de aanbevelingen van deze handleiding, die, zoals je al weet wat een bouwer 4 van de nieuwe functies, zoals de nieuwe namespace en onderdelen.Trouwens, je moet vier flash bouwer source code, zonder iets te veranderen, om 3: maak je geen zorgen, je bent nog steeds de gebruikers kan worden in overeenstemming met de training.Je moet veranderen van alle "buitenlandse" en "namespace MX", zoals: "< s: knop >" in "< MX: knop >"."De verklaring" op het etiket niet bestaan (in het schrijven van binnen en buiten.Groep "en" bordercontainer "zal" Canvas. """Operatie" V ".H) "" doos ".Niet "chromecolor" (de knop moet je stijl, verschillende). Stap 2: het creëren van een nieuwe multi - project, ten eerste, moeten we tot een nieuwe multi - project.Open een bouwer 4, klik op "nieuwe documenten > > - project".De volgende dialoog, worden geopend: de selectie van de projecten, en de naam ": in ons geval, zal camerasnapshot" maar je kan gebruiken wanneer je wilt.Kan je ook een project "locatie" naar waar je maar wil.Omdat het in de browser, gaan we "het netwerk" te controleren.We gebruiken de standaard SDK versie, we niet kiezen voor een server, klik.,, we veranderen niet van alles, op de volgende. De volgende stap in dit we gebruik zullen maken van de standaard, klik: dus, onze projecten zijn vastgesteld.Dit is een nieuwe flash Generator 4 van toepassing.Stap 3:,, het creëren van een script, hebben we een externe behandelingen voor de uitvoering van alle documenten, zullen we de logica, het creëren van een nieuw script documenten: documenten > nieuwe > behandelingen van documenten, het een naam geven, we kunnen kiezen: "Cam" nog een keer, Het kan zijn wat je wil, kan je weg van je, "pakket" van de blanco.Klaar.Laten we beginnen met de code.Stap 4:,, de vervanging van de camera 's, nu onze projecten hebben opgezet, en we hebben een plek nodig om te laten zien dat we de camera' s.Laten we nog een video voor ons, camerasnapshot.mxml, documenten, de "verklaring" op het etiket, < MX: video display id = "Cam" breedte = "533" hoogte = "400 />,, identiteitskaart, heel belangrijk, en dat is omdat wij dat bepaalde video van jou de video kan veranderen. De breedte en de hoogte in alles wat je wilt, maar je moet blijven om te voorkomen dat de verstoring van het imago van de 3.Tenzij je met een specifieke zaak, maar merkt dat we gebruik maken van, ", in plaats van een MX -", "s".Als we het gebruik van, "s", een bouwer van een voorvoegsel, geeft een fout, als we proberen te gebruiken attachcamera "methode".We zullen in de volgende stap voor stap 5: dit zien, toegang tot de camera 's, nu hebben we laten zien dat de gebruikers de camera' s, laten we het halen!Het creëren van een nieuwe functie, in het document, CAM, privé - functie:, getcam (): ongeldig {als (camera 's. Getcamera () {///////geeft de gebruiker de standaard camera naar camera' s een variabele var: de camera. Getcamera (); ///////is de hoogst mogelijke camera 's die camera' s. De kwaliteit van de setquality (0100); ///////de breedte, lengte, de camera beelden per seconde. Die model af (thecam.width, thecam.height; ///////30) camera 's "Cam" met CAM. Attachcamera (camera' s);} {///////of het toevoegen van je eigen manier om te vertellen dat de gebruikers van hun eigen problemen}}, de aandacht van ons op één voorwaarde: we zullen alleen vooruitgang boeken als we kunnen krijgen van de gebruikers ten minste één van de camera 's.We noemen het "camera" handig gebruik en de toewijzing van het in de komende jaren, in de camera.setmode, je moet begrijpen dat "de CAM. Breedte" breed "onze video 's.In de zogenaamde gegevens buigen, dit is gebonden.In het Engels: "camera" van de breedte en hoogte zal automatisch worden "Cam" dezelfde breedte en lengte.Dus, als je later besloten tot wijziging van de omvang van de camera 's video' s, met de omvang van de automatische wijziging van de toewijzing van de camera 's, en we krijgen, we in onze "onderzoek".Het vertelt ons wat video 's, stap 6:., blijkt dat de invoer van camera' s, laten we, cam.as, we, camerasnapshot.mxml, anders hebben we geen toegang tot het dossier, de functie van, we zijn gewoon: < uitwisseling: het script source = "Cam." /> behoud van de ", als je je camera." in een ander dossier, heeft de naam van de map voor "Cam", bijvoorbeeld: "different_folder /CAM.", nu moeten we zeggen we aanvragen, in feite, deze functie.Zullen we nog een "bellen" getcam () creationComplete methode "," open "in de etikettering van toepassing".Dit betekent dat, onze camera 's show eenmaal van toepassing is volledig te creëren, <: de toepassing van xmlns:FX =' http: //nanoseconde. Adobe. COM /gebruik /2009 van " xmlns:S =" bibliotheek: ///////ns. Adobe. COM /La /vonk ". xmlns:MX =" library://ns.adobe.com/flex/mx "minwidth =" 955 "minheight = 600" creationComplete = "getcam ();" >,, 7 stap: de eerste vlucht, heel goed tot nu toe.Nu, de toepassing, in het naar jezelf kijken, voordat we naar de volgende stap:) in kennis te stellen van: een aantal gebruikers, met name in de appel, dat moet veranderen de standaard camera 's, een speler zijn.In de aanvraag: klik (of de CMD + klik) > configuratie.>... "De volgende camera icoon rekening > veranderingen in uw" echte "Cam.,, 8: de distributie en de positie van deze stap, een stap die we moeten we" foto 's "van de etikettering en de indeling van de" V "elementen toe te voegen, zullen we de Verticale.Kijk naar jezelf., < de groep horizontalcenter = "0" = "0" verticalCenter > < MX: video display id = "Cam" breedte = "533" hoogte = "400 /> < /:V >" horizontalcenter, kennisgeving en verticalCenter "eigendom" 0 ".Dit betekent dat de "V" 0 pixel van de vader van containers centrum, in ons geval, de volledige toepassing, kunt u de aanvraag weer: aanpassing van de browser raam, vind je altijd in het midden.,, stap negen: vangst te vergroten we de "foto 's" knop en we moeten onze "video' s" en de "groep" van de lay - out van etiketten is absoluut, alles is op elkaars (tenzij je de X - en Y - of vanaf de Top op de bodem van een aantal pixels, of rechts, links), u. Code eruit moet zien:, < de groep horizontalcenter = "0" = "0" verticalCenter > < groep 's id = "videoarea" > < MX: video display id = "Cam" breedte = "533" hoogte = "400 /> < s: groep > < /:V > dat we zojuist zei, de "groep" etikettering.Dit hebben we onlangs nog de "V" zal wel bekend als "de video", nu we de knop "foto 's".Het komt op een mooie doorzichtige "bordercontainer" we zullen schrijven, onder onze "video", zie:, < MX: video display id = "Cam" breedte = "533" hoogte = "400 /> <: bordercontainer bodem =" 0 "breedte =" de achtergrond van 100% "kleur" zwarte "backgroundalpha = = = = = = = = = = = = =" 0,4 "" zwarte "BorderColor hoogte =" 55 "> < s: knop id =" veroorzaakt "horizontalcenter =" 0 "=" 0 "etiket verticalCenter =" foto 's "."De hoogte = 35" > < /:bordercontainer > neemt nota van de knop district "0" pixels is ver weg van de bodem, het is een zwarte doorzichtige (backgroundalpha) op de achtergrond.We hebben toegevoegd aan onze gevangen knop "veroorzaakt".Dit is in het midden van ons "bordercontainer".,, 10 stappen: de knop stijl, plus "chromecolor" en "kleur" we "over" de knop, we hebben een code eruit moet zien:, < s: knop id = "veroorzaakt" horizontalcenter "0" = = = = = = = "0" verticalCenter "hoogte = 35" - label = "foto 's".Chromecolor = "# 33abe9" kleur = "# ffffff" />, je kan het programma weer te zien is hoe we het doen.,, stap 11: twee foto 's van vervanging, nu zullen we nog een reserve, hier kunnen we het later bekijken, zullen we de foto' s.Schrijf het op, de volgende, we "behandeling", de "boven, we bordercontainer"., < groep 's id = "previewbox" vis = "valse" > < id = MX: het beeld van de preview breedte = 100% "hoogte = 100% /> < /s groep >, hebben we nog een" groep "genoemd" previewbox "pakket" imago "heet" zien ".,, een 12 - stappen: voorbereiding van een momentopname, zal de volgende code toe te voegen aan de top, we," Cam "script, ///////bestanden. De bestanden in de flash.display.bitmapdata; de invoer van mx.graphics.codec.jpegencoder; de invoer van mx.rpc.http.httpservice; de invoer van mx.utils.base64encoder; particuliere var: hier hebben we alleen de invoer van BitmapData;, alles wat we kunnen om en foto' s gestuurd naar de server 13 stappen:.,, maak een foto.Nu is het tijd voor een foto.Laten we nog een functie zal bereiken: openbare functie, takepicture () {///////:void als we niet alle foto 's bekijken, moeten we een: als ().Previewbox. Zichtbare) {///////voor het creëren van een beetje gegevens de omvang van de variabelen zijn de camera 's foto' s: var BitmapData = nieuwe BitmapData (thecam.width, CAM. Hoogte); ///////bitmap gegevens dat Cam 's. Foto' s (CAM); ///////we preview van de bron is een nieuwe foto 's. De BitmapData preview.source = nieuwe bitmap (foto); ///////BitmapData opslag van de in een andere BitmapData (buiten de functie) BM = foto' s; ///////previewbox zichtbaar maken, zodat we kunnen zien waar we foto 's previewbox.visible =; ///////de trekker etikettering, zodat de consument kan proberen trigger.label = "pak een stuk..."; ///////trigger.setstyl veranderen de kleur van deE - ('chromecolor "," #) ///////FF0000 "); als we twee foto 's...Andere (///////previewbox om immateriële previewbox.visible = vals; ///////trigger.label = Wijziging van het etiket "foto 's".De kleur van de trekker; ///////de knop. SetStyle ('chromecolor ","!abe9 ");}}, de bovenstaande opmerkingen" //(...) "zal u vertellen wat er is gebeurd, nu, met de toevoeging van een" klik "eigendom" voor "(camerasnapshot knop op te noemen die we onlangs ook.) het creëren van een" TakePicture "functie:, < s: knop id =" veroorzaakt "horizontalcenter =" 0 "=" 0 "verticalCenter hoogte =" 35 "- label =" foto 's ".Chromecolor = "# 33abe9" kleur = "# ffffff" klik "="; "> takepicture (), de toepassing van programma 's en foto' s.En stap 14: bij de coole, nu we nog wat Cool effect: als we foto 's nemen, dan zien we een Flash.Als we afstappen van een foto, zal het verdwijnen.Wijziging van de "verklaring" op het etiket, door toevoeging van de volgende code:, < buitenlandse: verklaring > <.Lokale niet - visuele elementen (bijvoorbeeld, de diensten, de waarde van de doelstellingen):% GT% < MX: verkleuring van de id = "flashfx" = "550" /> < s: naast de id = "discardphoto" > <: kinderen > < MX: door de tijd zoomwidthfrom = = = = = = = "350" "1" zoomwidthto = "0" zoomheightfrom = "1" en "0" doelstellingen "previewbox} {zoomheightto = = = = = = =" > < MX: minder duur = "350" > < /: kinderen > < /: parallelle > < /buitenlandse handel: een verklaring van > "verdwijnen" - label zou flash verdwenen van de realiteit."Parallelle" op het etiket van de "," "en" verdwijnen "en ons in de steek foto 's stijl.,, stap 15: met effect, laten we onze volgende verhoging van de flash" voorbeeld "beeld:, < MX: foto id =" zien "breedte = 100%" hoogte = "100%" > bordercontainer id = <: "de zaklamp" breedte = 100% "hoogte = 100%" instrumenten "{} =" flashfx achtergrond kleur voor de "witte" "backgroundalpha = 0,8" >, aandacht te besteden aan de "instrumenten" die "{}: flashfx" als "niet in de vorm van een zaklantaarn. Dit effect kan leiden.Ondertussen, "backgroundalpha" voor "0,8", dus onze flash niet helder.Onze flash is een witte bordercontainer verschijnen en verdwijnen snel, het creëren van een "flash" effect. We hoeven nu alleen maar de vaststelling van de zaklamp "zichtbaarheid" echte "en" valse "(flash activering) in onze" TakePicture ", ziet er als volgt uit: de openbare functie, takepicture () als we niet:void (///////zien geen foto 's, we moeten een: als ().Previewbox. Zichtbare) {///////voor het creëren van een beetje gegevens de omvang van de variabelen zijn de camera 's foto' s: var BitmapData = nieuwe BitmapData (thecam.width, CAM. Hoogte); ///////bitmap gegevens dat Cam 's. Foto' s (CAM); ///////we preview van de bron is een nieuwe foto 's. De BitmapData preview.source = nieuwe bitmap (foto); ///////BitmapData opslag van de in een andere BitmapData (buiten de functie) BM = foto' s; ///////previewbox zichtbaar maken, zodat we kunnen zien waar we foto 's previewbox.visible =; //////////////flashlight.visible = waar een zaklamp, die zaklamp naar flashlight.visible = vals; ///////veranderen we de trekker de etikettering, zodat de gebruikers kunnen proberenNogmaals trigger.label = "heeft een andere foto 's..."; ///////wijziging van de kleur van de knop geactiveerd. SetStyle ('chromecolor "," #) ///////FF0000 "); als we twee foto' s...Andere (///////previewbox om immateriële previewbox.visible = vals; ///////trigger.label = Wijziging van het etiket "foto 's".De kleur van de trekker; ///////de knop. SetStyle ('chromecolor ","!abe9 ");}}, foto 's, stap 16: gooi de doeltreffendheid, de verandering van" de groep "genoemd" previewbox "(camerasnapshot. Ook het gebruik van") discardphoto "effect:, < groep' s id =" previewbox "vis =" valse "instrumenten" {} = discardphoto ">, aandacht te besteden aan de" instrumenten ".De toepassing van een foto nemen, nemen, een andere kijk op.,, stap 17: SAVE, kan de toevoeging van een behoud en af te drukken, de volgende, aan het einde van onze "groep" genoemd "videoarea" boven "V" off - label:,, < S:H groep VerticalAlign = "Midden" = "juiste" HorizontalAlign breedte = 100% "> < MX:LinkButton etiket voor de af /> < s: knop id =" savepic "etiket =" foto 's "hoogte =" 30 "mogelijk" valse "snelle" = = om je profiel foto! "/> < /:H groep > zullen we "af" en "foto 's" knop in de "H" (dit etiket tonen hun niveau).We hebben een "VerticalAlign" eigendom "in", "niet" knop die in het midden van de hoogte van de "savepic".We hebben een breedte van "en" 100% "en" HorizontalAlign "naar" rechten "."Foto 's", op de knop is uitgeschakeld.We zullen het bekijken in de gebruikers niet foto 's en uitgeschakeld.Je kan terug naar de afschaffing van de knop bij de POP - up pakket voor blz. SWF 's, enzovoort.Je zei dat je binnen de "Cam" documenten, na een verandering van onze ", TakePicture" functie zal uitzien: openbare functies, takepicture () {///////:void als we niet alle foto 's bekijken, moeten we een: als ().Previewbox. Zichtbare) {///////voor het creëren van een beetje gegevens de omvang van de variabelen zijn de camera 's foto' s: var BitmapData = nieuwe BitmapData (thecam.width, CAM. Hoogte); ///////bitmap gegevens dat Cam 's. Foto' s (CAM); ///////we preview van de bron is een nieuwe foto 's. De BitmapData preview.source = nieuwe bitmap (foto); ///////BitmapData opslag van de in een andere BitmapData (buiten de functie) BM = foto' s; ///////previewbox zichtbaar maken, zodat we kunnen zien waar we foto 's previewbox.visible =; //////////////flashlight.visible = waar een zaklamp, die zaklamp naar flashlight.visible = vals; ///////veranderen we de trekker het etiket, dusDe gebruiker kan proberen trigger.label = "heeft een andere foto 's..." om savepic; //////////////savepic.enabled = waar de knop; wijziging van de kleur van de knop geactiveerd. SetStyle ('chromecolor "," #) ///////FF0000 "); als we twee foto' s...Andere (///////previewbox om immateriële previewbox.visible = vals; ///////trigger.label = Wijziging van het etiket "foto 's".- savepic; //////////////savepic.enabled = valse knop op de knop van de trekker; de kleur. SetStyle ('chromecolor ","!abe9 ");}}, meer dan slechts een verhoging van 2 codes en uitschakelen van SAVE, 18: redden. En foto 's, laten we nu eens kijken naar veel van de dingen die je kan doen één: foto' s gestuurd naar de server.Zo, je kan het als een gebruiker in het hoofd, de foto 's van het nieuwe album, wacht, we creëren een functie, stuurt de foto' s naar de server als we op de "foto 's": een openbare functie, savepicture () {///////:void veranderen de knop savepic laten weten dat de gebruiker kan redden van een /we z' n foto 's savepic.label = "red..." ///////- knop, zodat de gebruikers niet twee keer klikken savepic.enabled = vals; ///////de drukknop geeft een goed nieuws trigger.label = "dit is Een goede foto' s:" /") aan de knop uitschakelen, is nu te laat om nog een foto.Trigger.enabled = vals; het creëren van een nieuwe jpegencoder //////////////kwaliteit "je" is voor 100 (maximale) var ": jpegencoder = nieuwe jpegencoder (///////100); het creëren van een nieuwe staat bekend als de" om "De woorden" bytearray /jpegenconder code BM "bitmap gegevens: onze" foto 's "var acht: bytearray = je. Code (BM); ////////bytearray nu dat die foto in het creëren van een nieuwe" ja "is Base64Encoder VaR:Base64Encoder = nieuwe base64encoder (); ///////code van ons" en "(dit is een foto die we bytearray beeld) en Base64Encoder is. Encodebytes (BA) nu; ///////we hebben' encodeddata" touwtje naar de server van de VAR - encodeddata: string, flush (); ///////- diensten, zullen wij met onze gegevens te verzenden naar de server van de VAR - han -Dleservice: dienst = nieuwe httpservice (); ///////URL 's die we nu vaststellen, en we hopen dat...Zet je de server blz. ////////actie is dit een typisch in de Gids van de website van ruby.De verantwoordelijke voor de verwerking: users_controller, actie: handlepicture handleservice.url = 'http: //lokale: 3000 /user /; ///////camerasnap "een andere website: http: ///////appurl.url =' http: //www.example. COM /handlepicture s"; //////////////appurl.url of relatieve weg: = "/handlepicture. Php /kiezen we ons na de methode van"; ///////handleservice.method = "we laten zien dat betere visuele terugkoppeling handleservice.showbusycursor = echt druk toe; de /en, tot slot, we hebben 'encodeddata" als "inhoud" handleservice. Stuur ({inhoud: encodeddata}); ///////1 - code kan je de server "parameters" of "na de behandeling" veranderen in "inhoud". //////////////3 - 2 van het gebruik van de DISK (nu heb je echt een beeldHet behoud van op je server) ///////4 - maakt het beeld van de foto 's of wat je ook wil}, in deze functie hebben we drie dingen doen: een verandering van de etikettering en een aantal knopen uitschakelen, zullen we de laatste foto van de foto' s sturen, de Codering van de gegevens (base64 - string) naar de server, nogmaals de bovenstaande opmerkingen ". ///////(...)" kan je zeggen wat je moet doen, nu we "foto 's" knop moet de trekker "savepicture" functie.De toevoeging van een 'klik' - methode:, < s: knop id = "savepic" etiket = "foto 's" hoogte = "30" mogelijk "valse" snelle "= = om je profiel foto!"Klik op "="; "> savepicture (), 19: de server, stap, in de volgende stappen, schrijf ik alleen de code nodig, dus je kan doen wat je wil doen en het behoud van het dossier van de foto 's.Je moet de code te schrijven "example_name. De gegevens van de gebruiker (bijvoorbeeld foto 's").Helaas, ik kan niet eens hoe je dat kan je op dit moment variëren, afhankelijk van de oplossing.Een andere les, denk ik... Kamer, het volgende voorbeeld toont aan hoe de instandhouding van de foto 's op je server gebruikt, ruby op de rails, of PHP, is heel eenvoudig.Stap in,, 20: de server op het spoor van de definitie van "(" ruby, moet camerasnapvice - worden om de parameters van een variabele (inhoud) file_data = parameters []: wedecoderen base64 - string van het FLEX - img_data = base64 sturen. Decode64 (file_data) wordt een beeldNaam, met JPG uitbreiding img_filename = "example_name." open ".example_name" en "img_data het gevuld" (FLEX het decoderen base64) img_file = documenten (img_filename. Open, "Sh") {
Het creëren van een flash bouwer 4
Next Page:3