- Home /
Texture2D as a png file.
Hi, I'm currently creating a website that has a unity application in it. I've made a webgl unity app that saves image files as png. Problem is, I'm abit stuck with this error 404 thingy in the cgi. Can anyone give me an idea on how can I actually begin troubleshooting this problem? I rarely have an idea in this situation. Would gladly appreciate any help :)
Source code of the texture2d script. // Saves screenshot as PNG file. using UnityEngine; using System.Collections; using System.IO;
public class Screen : MonoBehaviour {
// Take a shot immediately
IEnumerator Start () {
yield return UploadPNG();
}
IEnumerator UploadPNG() {
// We should only read the screen buffer after rendering is complete
yield return new WaitForEndOfFrame();
// Create a texture the size of the screen, RGB24 format
int width = 960;
int height = 600;
Texture2D tex = new Texture2D(width, height, TextureFormat.RGB24, false);
// Read screen contents into the texture
tex.ReadPixels(new Rect(0, 0, width, height), 0, 0);
tex.Apply();
// Encode texture into PNG
byte[] bytes = tex.EncodeToPNG();
Object.Destroy(tex);
// For testing purposes, also write to a file in the project folder
// File.WriteAllBytes(Application.dataPath + "/../SavedScreen.png", bytes);
// Create a Web Form
WWWForm form = new WWWForm();
form.AddField("frameCount", Time.frameCount.ToString());
form.AddBinaryData("fileUpload",bytes);
// Upload to a cgi script
WWW w = new WWW("http://localhost/cgi-bin/env.cgi?post", form);
yield return w;
if (w.error != null) {
Debug.Log(w.error);
} else {
Debug.Log("Finished Uploading Screenshot");
}
}
}
Comment
Your answer
![](https://koobas.hobune.stream/wayback/20220612100607im_/https://answers.unity.com/themes/thub/images/avi.jpg)
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
Creating Sprites in code for use Dynamically. 1 Answer
Multiple Cars not working 1 Answer