Screen capture lehetőségeket iOS eszközök

Ez az üzenet a következő nyelveken olvashatja: angol

Screen capture lehetőségeket iOS eszközök

Screen Capture funkciót, vagy egyszerűen „az eltávolítását a képernyőn megjelenő kép”, egy mobil alkalmazás egy hatékony kiegészítő eszköz és fel lehet használni a legkülönbözőbb feladatokat. Ebben a cikkben azt vizsgálja részletesen a rendelkezésre álló mechanizmusok megvalósítani ezt a funkciót.

A rendszer segítségével a képeket vagy videofelvételeket, hogy mi történik a képernyőn, akkor létrehozhat egy kényelmes vezetés, képzés felhasználók dolgozni komplex alkalmazásokat. Hatékonyság animációs oktatóanyagok, amely világosan megmutatja a felhasználó pontosan hogyan kell használni az alkalmazás funkciókat sokkal magasabb, mint a sima „Tutorials”. Támogatás és fix alkalmazás hibák is jelentősen egyszerűsíthető, ha együtt egy hibaüzenetet a felhasználó küldhet rögzíti a tevékenységek, melyek a baleset. Végül sok játékos gyakran használják rekord képernyőt, hogy iránymutatást a folyosón a szint, vagy bizonyítani az eredményeket.

Engedélyezése és letiltása UIGetScreenImage

Ez a funkció csak egy hátránya, és ha nem tette volna, ő lett volna, talán a legjobb megoldás a képernyőképek készítését. A hátránya az, hogy a funkció része a privát API, ami azt jelenti, hogy minden alkalmazás, amely azt használja, nem tud bejutni az App Store és a hozzáférést a felhasználói eszközök.

A folyamat első. Rendering UIView réteg

Az első elem a lista megy CALayer osztály módszer letölteni a tartalmát egy réteg, mint egy kép - egy eljárás

Ezzel a módszerrel, hogy a Screen Capture leírt QA QA1703 az Apple honlapján. Ez a módszer egyszerűen tárolja a tartalmát egy réteget a jelenlegi grafikus környezetben, akkor a kontextus lehet közvetlenül az ott tárolt képeket. Következésképpen bármilyen UIView, akkor egy képet az ágya.

Az alábbiakban egy példát kódot lehet használni ahhoz, hogy képeket UIView.

Így az első javasolt megoldás a legáltalánosabb, de nem általános. Ez működni fog egy interfész épült UIKit, de elemekkel mellékletében a GPU, egy képernyőképet tartalmaz egy üres mező.

A folyamatot a második. Előállítása kép OpenGL ES

Screen capture lehetőségeket iOS eszközök

Mint már említettük, a tartalmát a OpenGL jelenet a GPU memória. Ezért, annak érdekében, hogy egy screenshot az ablak, amely megjeleníti a grafikus jelenetet, létre az OpenGL ES keretet igényel egy másik módszer. Egy ilyen módszert ismertet az QA QA1704. Ez a funkció glReadPixels.

A következő lépéseket kell tenni, így az OpenGL jelenet képet.

  1. Akár a kívánt képalkotást puffert (ha egynél több van használatban) keresztül glBindRenderbufferOES funkciót.
  2. Memóriát kiosztani kívánt képméretet, tekintettel arra, hogy minden egyes kép pontot adják 4 bájt.
  3. Másolja a képpontok a lefoglalt memória terület meghívásával glReadPixels funkciót.
  4. Bejelenteni a választás „adatforrás” keresztül a forrás linkre funkció CGDataProviderCreateWithData.
  5. CGImage kap egy adatforrás keresztül CGImageCreate funkciót.

Kód illyustriruschy leírt sorrendben a hívások az alábbi.

Miután CGImage, akkor könnyen kap UIImage képre, és utána azt a saját céljaira. Nem szabad elfelejteni, hogy az OpenGL ES koordinátarendszer és UIKit különböznek irányában Y. Ezért screenshot használat előtt lepattintható.

A harmadik út. Képalkotó eszköz fényképezőgép

Screen capture lehetőségeket iOS eszközök

Mit kell a végén?

Screen capture lehetőségeket iOS eszközök

Legalább két megközelítés a probléma megoldására. Használatuk függ a játékos.

Képek eltávolítása MPMoviePlayer lejátszó

- (UIImage *) thumbnailImageAtTime: timeOption.

A leírás megtalálható a hivatalos dokumentációt. Ez lehetővé teszi, hogy a megfelelő idő a kívánt keretet, és meghatározzák, hogy mely kép kapsz sokkal fontosabb - a legközelebb a kívánt időben a kulcs vagy a pontos keret egy adott idő alatt. Calling ezt a módszert - mindössze annyit kell tennie, hogy egy screenshot.

Képek eltávolítása AVPlayer lejátszó

Az első út - használja AVAssetImageGenerator osztályban. Ez tartalmaz egy speciális módszerrel

Példa kód szemlélteti ezt a megközelítést az alábbiakban mutatjuk be.

A probléma a HTTP Élő közvetítés

Ebben a cikkben megpróbáljuk leírni módon Screen Capture, amely felhasználható az iOS.

Reméljük, hogy sokat tanultam hasznos információt a cikkeket, és keresse meg a választ kérdéseire Screen Capture a iOS.object

Kapcsolódó cikkek