2011-03-23 8 views
1

WCF를 사용하여 사용자가 동적으로로드하는 일부 이미지를 보내야합니다 (찾아보기 사용). WCF 서비스는 비트 맵 개체 (바이트 [])를 가질 수 있습니다.실버 라이트의 비트 맵?

내가 보유하고있는 이미지 형식은 ImageBrush입니다. Silverlight에 Bitmap object =>이 없기 때문에 WCF 서비스에서 보내 줄 것으로 예상되는 객체에 ImageBrush를 어떻게 변환 할 수 있습니까?

어떻게이 문제를 해결할 수 있습니까?

답변

0

ImageBrush는 이미지 자체가 아니라 이미지를 그리는 데 사용되는 개체입니다. 이미지 자체는 imageBrush.ImageSource에 보관해야합니다. 이 ImageSource는 하위 클래스 인 다양한 유형이 될 수 있습니다. 가장 일반적인 BitmapSource입니다. BitmapSource에는 소스에서 픽셀을 추출하는 데 사용할 수있는 CopyPixels 메서드가 있으며이 픽셀을 WCF 서비스에 전달할 수 있습니다.

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