2016-04-02 22 views
1

これは非常に簡単な質問ですが、オンラインに関するトピックはほとんど見つかりませんでした。Swiftで画像を生成

Swiftで画像を生成するにはどうすればよいですか?

具体的には、実際のゲームの得点を記録し、そのスコアを保存するアプリがあります。私は、ユーザーが必要に応じてスコアボードを生成し、Facebookなどで共有するために画像としてエクスポートできるようにしたいと考えています。 UIImageプログラミングに関するほとんどのチュートリアルは、(フィルターの適用などのような)画像の変更についてのようですが、これは別の種類のプログラミングです。

私はHTML/CSSを使ってスコアボードを生成するのが良いと思います。テーブルと概要を生成してpdf /ビットマップ/ pngとしてエクスポートしようとしますが、わかりませんそれが正しい解決策ならば。

スコアボードはどのように生成できますか?

答えて

4

スコアボードからイメージを作成する最も簡単な方法は、ユーザーが対話できるスコアボードビュー(UIView)を作成することです。実際のイメージが必要な場合は、ビューのスナップショットを取ってUIImageインスタンスに保存します。私はそれを行うことができるUIViewの拡張を作成しました。

extension UIView { 
    func getImage() -> UIImage { 
     UIGraphicsBeginImageContextWithOptions(bounds.size, false, UIScreen.mainScreen().scale) 
     drawViewHierarchyInRect(bounds, afterScreenUpdates: true) 
     let image = UIGraphicsGetImageFromCurrentImageContext() 
     UIGraphicsEndImageContext() 
     return image 
    } 
} 

次に、あなただけの任意のUIViewにしてスコアボードビューで、あなたのケースで、このメソッドを呼び出すことができます。

let scoreImage = scoreBoardView.getImage() 

UIImageインスタンスは、後でPDFや他のイメージフォーマットとして使用できます。

+0

私は、このメソッドをUITableViewで呼び出すとしたらどうでしょうか? – Joris416

+0

はい、うまくいきます –