Приложение зависает при преобразовании строки base64 в изображение picturebox - PullRequest
0 голосов
/ 28 декабря 2018

Когда отображается моя форма, в нее подается строка base64, которая содержит изображение, но когда я пытаюсь отобразить это изображение в графическом окне, приложение зависает, и мне приходится принудительно убивать приложение.Мой вопрос заключается в том, как преобразовать строку и затем отобразить ее в графическом окне без зависания и сбоя.

public partial class DisplayPic : Form
{
    string base64String;
    public DisplayPic(string img)
    {
        base64String = img;
        InitializeComponent();
    }

    private void DisplayPic_Load(object sender, EventArgs e)
    {
        // Convert base 64 string to byte[]
        byte[] imageBytes = Convert.FromBase64String(base64String);
        // Convert byte[] to Image
        using (var ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
        {
            pictureBox1.Image = Image.FromStream(ms, true);
        }
    }
}

1 Ответ

0 голосов
/ 28 декабря 2018

Хорошо, я создал бодж;Когда строка base64 конвертируется в байты, я использую метод File.WriteAllBytes(), который сохраняет файл.После сохранения файла я использовал метод Image.FromFile(), который затем использовал для установки изображения в картинке.

Я знаю, что это плохой способ сделать это, но так как я не могу найти другой способ, который работает, я выбрал этот вариант.

Спасибо за всю помощь и предложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...