Оксиплот размыт в ViewBox

Мы используем Oxyplot в нашем приложении. Наше приложение позволяет масштабировать отображаемый контент. Это делается с помощью WPF Viewbox.

Мы используем внутреннее разрешение (например, 300 x 200 пикселей внутри) и позволяем Viewbox увеличивать его до фактического разрешения экрана пользователя.

Это хорошо работает с обычными элементами управления WPF, они остаются кристально чистыми и просто отображаются больше, чем обычно.

Но Oxyplot становится размытым.

Чтобы воспроизвести это, возьмите последнюю ветку разработки из Oxyplot, откройте пример WPF и замените элемент Plot TabItem в MainWindow.xaml, строка 126, на это:

    <TabItem Header="Plot">
        <Viewbox Stretch="Uniform">
            <Grid Height="200" Width="300">
                <oxy:PlotView x:Name="Plot1" Model="{Binding SelectedExample.PlotModel}" Controller="{Binding SelectedExample.Controller}" />
            </Grid>
        </Viewbox>
    </TabItem>

Это приводит к следующему представлению:

введите здесь описание изображения

Обратите внимание, как тексты размыты, а метки осей выглядят неровно.

У меня были надежды, что последнее исправление High DPI также исправит это, но это не так (сегодня я вытащил последнюю ветку разработки).

Я действительно не знаю, куда идти отсюда. Сейчас я в основном ищу идеи. В чем может быть проблема? Я думаю, что он частично преобразуется в растровое изображение внутри, но почему и что я могу с этим поделать?

Спасибо!


person knurd nerd    schedule 31.03.2020    source источник


Ответы (1)


Я в той же лодке, только начал использовать Oxyplot, и до сих пор он довольно надежный, но для меня это большая проблема. Почему это похоже на 1999 год? Я попробовал RenderOptions.BitmapScalingMode="HighQuality" и некоторые другие в моем .xaml, но они не помогли. Я действительно не хочу, чтобы мой проект выглядел так, как я ассоциирую со многими проектами .NET, ха-ха.

UseLayoutRounding="True" 
RenderOptions.BitmapScalingMode="NearestNeighbor"
SnapsToDevicePixels="True"
RenderOptions.ClearTypeHint="Enabled"

По умолчанию я пытаюсь проверять подобные вещи, но, похоже, это здесь не помогает.

person nickEggs    schedule 01.04.2020