Konwertowanie tablicy bajtów do obrazka

0

Problem polega na tym, że mam ciąg znaków który muszę skonwertować do obiektu Image. W topicu napisałem że chodzi o tablicę bajtów, a tak naprawdę to chyba raczej nie są bajty.
Otóż mam taki ciąg znaków:

AAABAAEAICAAAAAAAACoCAAAFgAAACgAAAAgAAAA [....ciach....] +AAPAPwADgH/wBwD//w+Z/

Chiałbym teraz skonwertować to na obiekt Image. Próbowałem takimi sposobami:

  1. Na chama upchnąć to w tablicy bajtów - nie udało się i wtedy skonwertować streamreaderem
  2. Pomyślałem sobie że to może być ASCII więc skorzystałem z poniższego kodu:
 static byte[] ConvertToByteArray(string str)
        {
            System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
            return encoding.GetBytes(str);
        }

a nstępnie z tablicy bajtów do Image:

public Image ConvertToImage(byte[] _image)
        {
            Image newImage;
            using (MemoryStream stream = new MemoryStream(_image))
            {
                newImage = Image.FromStream(stream);
            }
            return newImage;
        }

Ostatecznie przy próbie konwertowania program wywala się na :

newImage = Image.FromStream(stream);

z komunikatem że parametr jest nieprawidłowy.

Ta metoda działała już mi wielokrotnie kiedy faktycznie miałem do czynienia z "czystą" tablicą bajtów.

Dodatkowo BreakPoint pokazuje, że faktycznie sama operacja konwertowania ASCII (jezeli to jest w ogóle) do bajtów zadziałała w porządku

Ja już się trochę w tym pogubiłem. Z góry dzięki za pomoc

0

Miałeś rację jedynie w tym, że to nie są bajty.

MemoryStream memoryStream = new MemoryStream(System.Convert.FromBase64String(twojCiagZnakow));
Image image = Image.FromStream(memoryStream);

Dynamit ;)?

0

Heh, :) Dzięki bardzo za pomoc. O to mi chodziło.

1 użytkowników online, w tym zalogowanych: 0, gości: 1