0
Я использую следующий код для визуализации UIElement
.RenderTargetBitmap.RenderAsync Argument exception
var bitmap = new RenderTargetBitmap();
await bitmap.RenderAsync(elementToRender); //this line throws the exception
var pixelBuffer = await bitmap.GetPixelsAsync();
var wb = new WriteableBitmap(1, 1);
wb = await wb.FromPixelBuffer(pixelBuffer, bitmap.PixelWidth, bitmap.PixelHeight);
var stream = await wb.GetStream();
это моя XAML:
<Grid x:Name="elementToRender" Background="White" Width="400" Height="400">
<Ellipse Fill="Black" />
</Grid>
Я называю этот метод после загрузки страницы, но если я пытаюсь использовать этот код, я получаю исключение, это StackTrace:
System.ArgumentException
HResult=-2147024809
Message=Value does not fall within the expected range.
Source=mscorlib
StackTrace:
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
Как я могу это исправить?
Учитывая, что (насколько я знаю) WritableBitmap не метод FromPixelBuffer (плюс это возвращая Задача и метод структуры обычно заканчиваются на «Async»). Я предполагаю, что это ваш собственный метод расширения? Не могли бы вы вставить код в этот метод? –
проблема в этой строке «ожидайте bitmap.RenderAsync (elementToRender);», я получаю исключение – frenk91
В этом случае ... похоже на http://stackoverflow.com/questions/35642908/rendertargetbitmap-renderasync-value -does-not-fall-in-the-expected-range –