function EncodeToPNG () : byte[]
Description
Encodes this texture into PNG format.
The returned byte array is the PNG "file". You can write them to disk to get the PNG file,
send them over the network, etc.
This function works only on ARGB32 and RGB24 texture formats.
The texture also has to have Is Readable flag set in the import settings.
The encoded PNG data will
contain alpha channel for ARGB32 textures, and no alpha channel for RGB24 textures.
PNG data will not contain gamma correction or color profile information.
import System.IO;
function Start () {
UploadPNG ();
}
function UploadPNG () {
yield WaitForEndOfFrame();
var width =
Screen.width;
var height =
Screen.height;
var tex =
new Texture2D (width, height,
TextureFormat.RGB24,
false);
tex.ReadPixels (
Rect(0, 0, width, height), 0, 0);
tex.Apply ();
var bytes = tex.EncodeToPNG();
Destroy (tex);
var form =
new WWWForm();
form.AddField(
"frameCount",
Time.frameCount.ToString());
form.AddBinaryData(
"fileUpload",bytes);
var w =
WWW(
"http://localhost/cgi-bin/env.cgi?post", form);
yield w;
if (w.error != null) {
print(w.error);
}
else {
print(
"Finished Uploading Screenshot");
}
}
See Also: ReadPixels, WaitForEndOfFrame, LoadImage.