UnityでAシーンで画像を生成し、その画像をBシーンでbyte配列として利用したいのですが上手くできません。
Aシーンで生成するソースが
C#
1Texture2D tex = new Texture2D (Screen.width, Screen.height, TextureFormat.ARGB32, false); 2 tex.ReadPixels ( new Rect(30, 0, Screen.width, Screen.height), 0, 0); 3 tex.Apply (); 4 5 byte[] bytes = tex.EncodeToPNG(); 6
以上のようにbyte配列として画像を持っています。
Bシーンではbyte配列として利用したいので、このままBシーンに渡せれば良いのですが、引数としてシーン間をやり取りさせることができないので、外部に保存しようと考えました。
AシーンでPlayerPrefsを用いてbyte配列をString型に変換し、保存し、BシーンでPlayerPrefsを読み込みStringをbyte配列に変換し直し出力してみましたが、出力した画像ファイルが壊れていると言われ、開くことができませんでした。
おそらく、byte配列に2桁、3桁の数が収まっていたものがStringからbyte配列に変換し直す段階で、1文字ずつ格納してしまったのが原因かと思うのですが、どうしてもうまくいきません。
解決策をご教授ねがえないでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/12/16 03:44
2016/12/16 04:26