以下のサンプルで、タッチし終わったら合成して1枚のUIImageにしたいです。
GraphicsDemo_Finished
TouchesEnded()の最後に以下のようなコードを追記しましたが、
UIGraphics.GetImageFromCurrentImageContext()がnullで返ってきてしまいます。
GetImageFromCurrentImageContextがnullになる件はUIGraphics.BeginImageContextしていないのが原因だと分かりました。
以下のようにしてpngファイル自体は出力できたのですが、何も描かれていない画像が出力されてしまいます。
なぜでしょうか?
c#
1 CGSize imageSize = new CGSize(200f, 200f); 2 UIGraphics.BeginImageContext(imageSize); 3 // 現在のグラフィックスコンテキストの画像を取得する 4 CGContext currentContext = UIGraphics.GetCurrentContext(); 5 UIImage snapshot = UIGraphics.GetImageFromCurrentImageContext();てしまう 6 // 現在のグラフィックスコンテキストへの編集を終了 7 UIGraphics.EndImageContext(); 8 //Stream pngStream = snapshot.AsPNG().AsStream(); 9 NSData data = snapshot.AsPNG(); 10 NSError err; 11 string dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 12 string fileName = "temp" + DateTime.Now.ToString("_yyyyMMdd_HHmmss") + ".png"; 13 if (!data.Save(dir + "/" + fileName, true, out err)) 14 { 15 Console.WriteLine("Saving of file failed: " + err.Description); 16 }
◆環境
Visual Studio 2017
Xamarin 4.12
Xamarin.iOS 12.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/10 02:19