using System;
using System.Threading.Tasks;
using XLabs.Ioc;
using Xamarin.Forms;
using Tesseract;
using Xamarin.Essentials;
using System.IO;
using Plugin.ImageEdit;
public partial class MainPage : ContentPage
{
private readonly ITesseractApi _tesseract;
public MainPage()
{
InitializeComponent();
_tesseract = Resolver.Resolve<ITesseractApi>();
}
private byte[] GetImageBytes(Stream stream)
{
byte[] imageBytes;
using (var memoryStream = new System.IO.MemoryStream())
{
stream.CopyTo(memoryStream);
imageBytes = memoryStream.ToArray();
}
return imageBytes;
}
private async void LoadImageButton_OnClicked(object sender, EventArgs e)
{
var resultado = await MediaPicker.PickPhotoAsync(new MediaPickerOptions
{
Title = "Escolha uma foto"
});
if (resultado != null)
{
var stream = await resultado.OpenReadAsync();
byte[] imageArray = GetImageBytes(stream);
using (var image = await CrossImageEdit.Current.CreateImageAsync(imageArray))
{
byte[] croped = await Task.Run(() =>
image.Crop(10, 10, 150, 150)
.Resize(100, 0)
.ToPng()
);
if (!_tesseract.Initialized) await _tesseract.Init("eng");
var tessResult = await _tesseract.SetImage(croped);
TextLabel.Text = _tesseract.Text;
minhaImagem.Source = ImageSource.FromStream(() => new MemoryStream(croped));
}
}
}
}
}
我_tesseract.Text 結果都是空值