Оксиплот расплывчатый в ViewBox - PullRequest
0 голосов
/ 31 марта 2020

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

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

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

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

Чтобы воспроизвести это, возьмите последнюю ветку разработки от Oxyplot, Откройте Пример WPF и замените TabItem Plot в 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>

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

enter image description here

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

Я надеялся, что позднее исправление High DPI также исправит это, но это не так (я потянул последняя ветвь разработки сегодня).

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

Спасибо!

1 Ответ

0 голосов
/ 01 апреля 2020

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

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

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

...