Растровое изображение в Silverlight? - PullRequest
1 голос
/ 23 марта 2011

Мне нужно отправить с помощью WCF изображение, которое пользователь динамически загружает (используя обзор). Служба WCF может иметь объект Bitmap (byte []).

Формат изображения, который я держу, - ImageBrush. Я не вижу, чтобы у silverlight был объект Bitmap =>, так как я могу преобразовать ImageBrush, который я храню, в нужный объект, который служба WCF ожидает от меня?

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 25 марта 2011

ImageBrush - это не само изображение, а объект, используемый для рисования изображения. Само изображение должно храниться в imageBrush.ImageSource. Этот ImageSource может иметь различные типы, которые подклассируют его, наиболее распространенным из которых является BitmapSource. BitmapSource имеет метод CopyPixels, который можно использовать для извлечения пикселей из источника, который затем можно передать в службу WCF.

var stride = bitmapSource.PixelWidth + (bitmapSource.PixelWidth) % 4;<br/> var byteArray = new byte[bitmapSource.PixelHeight * stride];<br /> bitmapSource.CopyPixels(byteArray, stride, 0);

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