FM/Assets/RaymondKeybard/HandWriting/TextRecogniseApi.cs

61 lines
1.6 KiB
C#

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using UnityEngine.Networking;
public class TextRecogniseApi : MonoBehaviour
{
public static TextRecogniseApi instance;
private void Awake()
{
instance = this;
}
private void Start()
{
//SendApi(sprite.texture);
}
public Sprite sprite;
public void SendApi(Texture2D tex)
{
StartCoroutine(Upload(tex));
}
private string GetJson(Texture2D tex)
{
string json = "{\"requests\": [{\"image\": {\"content\": ";
json += "\"" + Convert.ToBase64String(tex.EncodeToPNG()) + "\"";
json += "},\"features\": [{\"type\": \"DOCUMENT_TEXT_DETECTION\"}],";
json += "\"imageContext\": {\"languageHints\": [\"zh-hant\"]}";
json += "}]}";
return json;
}
const string basePath = "https://vision.googleapis.com/v1/images:annotate?key=AIzaSyBOHwX6uyXTqgrniQWv3ZxWbsukD_sey2A";
IEnumerator Upload(Texture2D tex)
{
string json = GetJson(tex);
Debug.Log(json);
var request = new UnityWebRequest(basePath, "POST");
request.uploadHandler = (UploadHandler)new UploadHandlerRaw(Encoding.UTF8.GetBytes(json));
request.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
request.SetRequestHeader("Content-Type", "application/json");
yield return request.SendWebRequest();
Debug.Log(request.downloadHandler.text);
Debug.Log("Status Code: " + request.responseCode);
}
}