質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.39%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

8868閲覧

Unityで画面の一部をキャプチャーしたJPG、Base64データをデコードしたい

ryuuichi2014

総合スコア115

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2016/12/13 22:01

C#

1//画面切取 2texture = new Texture2D(Screen.width, 800); 3 4texture.ReadPixels(new Rect(0, 720, Screen.width, 800), 0, 0); 5texture.Apply(); 6string enc = System.Convert.ToBase64String(texture.EncodeToJPG()); 7 8Debug.Log(enc);

こんな感じで画面の一部をきりとり、Base64にてテキストにしてenc変数にいれます。

そのencは、しばらくDB上などにそのまま保存しておくのですが、これを再度取り出したいときの方法を教えて貰えないでしょうか?

Unityのシーン、Canvas内で、画面に配置したImageオブジェクトに貼り付けたいのですが、方法がわかりません。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2016/12/14 01:27

Base64でエンコードする前に、jpegに変換(EncodeToJPG())していますから、元のキャプチャー画像には戻せません。jpegに返還されたtextureに戻せるだけですが、それがやりたい事ですか?
ryuuichi2014

2016/12/14 11:08

はい、元のキャプチャーに戻さなくてもいいのです。テキストベースでDBに保存しておき、それを見る事が出来るようにしたいのです。
ryuuichi2014

2016/12/14 11:10

jpegに変換されたものでかまいません。
guest

回答1

0

ベストアンサー

C#

1byte[] bytes = System.Convert.FromBase64String(enc); 2var texture = new Texture2D(1,1); 3texture.LoadImage(bytes); 4 5// Image内に割り当てられたスクリプト内なら下記を呼ぶだけ。 6GetComponent<Renderer>().material.mainTexture = texture; 7 8// スクリプトが別の場所にあるなら、目的のImageのインスタンスから呼び出す 9// image.GetComponent<Renderer>().material.mainTexture = texture;

投稿2016/12/14 01:35

ishi9

総合スコア1294

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryuuichi2014

2016/12/14 11:09

ありがとうございます、 new Texture2D(1,1); の 1,1 という引数はなにを表しているのですか?
ishi9

2016/12/15 01:09

幅と高さです。 実際はLoadImageによって読まれるテクスチャのサイズによって上書きされるのであまり意味がないのですが指定必須なので何かしら入れないといけません。なのでコストの最も低い最小の値を入れています。
ryuuichi2014

2016/12/22 10:48

なるほど! ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.39%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問