質問編集履歴

2

タイトル変更

2019/04/10 01:14

投稿

yrema
yrema

スコア286

test CHANGED
@@ -1 +1 @@
1
- iOSでViewを画像化したい
1
+ Xamarin.iOSでViewを画像化したいが白紙になる
test CHANGED
File without changes

1

nullの件の解決

2019/04/10 01:14

投稿

yrema
yrema

スコア286

test CHANGED
File without changes
test CHANGED
@@ -6,21 +6,51 @@
6
6
 
7
7
  TouchesEnded()の最後に以下のようなコードを追記しましたが、
8
8
 
9
- UIGraphics.GetImageFromCurrentImageContext()がnullで返ってきてしまいます。
9
+ ~~UIGraphics.GetImageFromCurrentImageContext()がnullで返ってきてしまいます。~~
10
+
11
+ GetImageFromCurrentImageContextがnullになる件はUIGraphics.BeginImageContextしていないのが原因だと分かりました。
12
+
13
+ 以下のようにしてpngファイル自体は出力できたのですが、何も描かれていない画像が出力されてしまいます。
10
14
 
11
15
  なぜでしょうか?
12
16
 
17
+
18
+
19
+
20
+
13
21
  ```c#
22
+
23
+ CGSize imageSize = new CGSize(200f, 200f);
24
+
25
+ UIGraphics.BeginImageContext(imageSize);
14
26
 
15
27
  // 現在のグラフィックスコンテキストの画像を取得する
16
28
 
29
+ CGContext currentContext = UIGraphics.GetCurrentContext();
30
+
17
- UIImage snapshot = UIGraphics.GetImageFromCurrentImageContext(); // ここがnullになる
31
+ UIImage snapshot = UIGraphics.GetImageFromCurrentImageContext();てしまう
18
32
 
19
33
  // 現在のグラフィックスコンテキストへの編集を終了
20
34
 
21
35
  UIGraphics.EndImageContext();
22
36
 
23
- Stream pngStream = snapshot.AsPNG().AsStream();
37
+ //Stream pngStream = snapshot.AsPNG().AsStream();
38
+
39
+ NSData data = snapshot.AsPNG();
40
+
41
+ NSError err;
42
+
43
+ string dir = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
44
+
45
+ string fileName = "temp" + DateTime.Now.ToString("_yyyyMMdd_HHmmss") + ".png";
46
+
47
+ if (!data.Save(dir + "/" + fileName, true, out err))
48
+
49
+ {
50
+
51
+ Console.WriteLine("Saving of file failed: " + err.Description);
52
+
53
+ }
24
54
 
25
55
  ```
26
56