Если у меня есть данные изображения в NSData, извлеченные из изображения следующим образом, как мне преобразовать этот объект NSData в байтовый массив?
NSData data = NSData.FromUrl(NSUrl.FromString(urlString));
NSData data = NSData.FromUrl(NSUrl.FromString(urlString)); byte[] dataBytes = new byte[data.Length]; System.Runtime.InteropServices.Marshal.Copy(data.Bytes, dataBytes, 0, Convert.ToInt32(data.Length));
Я получил ответ на этот вопрос из ответа Димитриса Тавликоса на этот вопрос, который я задал:
Как прочитать содержимое локального изображения в строку base64 в MonoTouch
Из этого ответа я узнал, что если вы включите ссылку System.Linq, тогда объект NSData будет иметь метод ToArray(), который будет возвращать массив байтов.Так что с этим пространством имен вы можете сделать следующее:
System.Linq
NSData
ToArray()
bytes[] dataBytes = data.ToArray();
Надеюсь, эта информация поможет кому-то еще.
ответ Тимо как метод расширения:
public static byte[] ToByteArray (this NSData data) { var dataBytes = new byte[data.Length]; System.Runtime.InteropServices.Marshal.Copy(data.Bytes, dataBytes, 0, Convert.ToInt32(data.Length)); return dataBytes; }