mathpix的公式接口C#调用

图片转换成数组

private byte[] OCR_ImgToByte(Image img)
{
    byte[] result;
    try
    {
        MemoryStream memoryStream = new MemoryStream();
        img.Save(memoryStream, ImageFormat.Jpeg);
        byte[] array = new byte[memoryStream.Length];
        memoryStream.Position = 0L;
        memoryStream.Read(array, 0, (int)memoryStream.Length);
        memoryStream.Close();
        result = array;
    }
    catch
    {
        result = null;
    }
    return result;
}

post函数

public string OCR_Math(Image img)
{
    byte[] inArray = this.OCR_ImgToByte(img);
    string s = "{\t\"formats\": [\"latex_styled\", \"text\"],\t\"metadata\": {\t\t\"count\": 1,\t\t\"platform\": \"windows 10\",\t\t\"skip_recrop\": true,\t\t\"user_id\": \"123ab2a82ea246a0b011a37183c87bab\",\t\t\"version\": \"snip.windows@00.00.0083\"\t},\t\"ocr\": [\"text\", \"math\"],\t\"src\": \"data:image/jpeg;base64," + Convert.ToBase64String(inArray) + "\"}";
    byte[] bytes = Encoding.UTF8.GetBytes(s);
    HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.mathpix.com/v3/latex");
    httpWebRequest.Method = "POST";
    httpWebRequest.ContentType = "application/json";
    httpWebRequest.Timeout = 8000;
    httpWebRequest.ReadWriteTimeout = 5000;
    httpWebRequest.Headers.Add("app_id: mathpix_chrome");
    httpWebRequest.Headers.Add("app_key: 85948264c5d443573286752fbe8df361");
    using (Stream requestStream = httpWebRequest.GetRequestStream())
    {
        requestStream.Write(bytes, 0, bytes.Length);
    }
    Stream responseStream = ((HttpWebResponse)httpWebRequest.GetResponse()).GetResponseStream();
    string result= new StreamReader(responseStream, Encoding.GetEncoding("utf-8")).ReadToEnd();
    responseStream.Close();
    return result;
}
Last modification:May 8th, 2019 at 12:08 pm
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment