에 WriteableBitmap 이미지 ToArray 변환. 나는 이미지의 uri
를 반환하고 시도하고 다운로드 할 HttpClient를 사용하고 있습니다. uri
이 올바른 것으로 확인되었습니다. 나는 나의 푸른 서비스에 BLOB 저장소에서 이미지를 액세스하고 UWP
using (HttpClient client = new HttpClient())
{
try
{
HttpResponseMessage response = await client.GetAsync(new Uri(((App)Application.Current).results.statsInformation.ImageBlob.ImageUri, UriKind.RelativeOrAbsolute));
if (response != null && response.StatusCode == HttpStatusCode.OK)
{
using (var stream = await response.Content.ReadAsStreamAsync())
{
using (var memStream = new MemoryStream())
{
await stream.CopyToAsync(memStream);
memStream.Position = 0;
memStream.Seek(0, SeekOrigin.Begin);
myOnlineImage.SetSource(memStream.AsRandomAccessStream());
}
}
}
}
catch (Exception)
{
throw;
}
}
서버로부터 화상
myOnlineImage
변수에 저장된다. 그런 다음
myOnlineImage.PixelBuffer.ToArray();
을 사용하여 픽셀 정보를 추출하고 싶습니다. 이미지가 제대로 다운로드되지 않았기 때문입니까? 누구든지이 문제를 해결할 수있는 옵션을 도울 수 있습니까?
내가 수신하고 예외입니다 :
예외
메시지 ". 값은 null 일 수 없습니다 \ 연구 \ 이름 nParameter : 소스"System.Runtime에서
스택 트레이스 " .InteropServices.Marshal.CopyToManaged (소스를 IntPtr 오브젝트 대상에서 startIndex INT32, INT32 길이) \ R \ n System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions.CopyTo (IBuffer 소스 UINT32 sourceIndex 바이트 [] 목적지에서 INT32 destinationIndex, INT32 카운트) \ R \ n System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions.ToArray (IBuffer 소스 UINT32 sourceIndex, INT32 카운트)에서 \ R \ n System.Runtime.InteropServices.WindowsRuntime.WindowsRuntimeBufferExtensions.ToArray에서 (소스 IBuffer) \ Stonegaard_endless_runner.MainPage.d__7.MoveNext에서 연구 \ n을() "
나는 이미지에 스레드 액세스 권한이 있는지 확인했다
추가.
이미지 파일이 아니라 서버에서 또는 다른 bitmapImage에서. 코드를 테스트하기 위해 변환 방법을 아는 변경 사항이 있습니까? – JTIM
@JTIM using을 사용하여 파일을 다음과 같이 바꿉니다. using (Stream stream = await (response.Content.ReadAsStreamAsync())) {using (IRandomAccessStream strm = stream.AsRandomAccessStream()) {... –
'bi.SetSource (strm)'라인이 실행된다. 그 후 아무 일도 일어나지 않아? – JTIM