Модераторы: gambit, Kefir, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не работает свойство SnapsToDevicePixels 
:(
    Опции темы
snav
Дата 9.2.2010, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



Не могу побороть размытость изображения на кнопках в ToolBar'е. Размытие возникает из-за того, что строка меню над тулбаром имеет дробную высоту (если, например, задать высоту меню жестко Height="24", то рисунки на кнопках отображаются четко). Однако свойство SnapsToDevicePixels, почему-то, не помогает. Задал SnapsToDevicePixels="true" уже везде где только возможно, но кнопки все равно размытые. :( Что делать? Рисунки на кнопках стандартные (PNG, 16x16, 96 dpi).

Код

<Window x:Class="MyWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    SnapsToDevicePixels="True" MinWidth="700" MinHeight="350">
    <DockPanel>
        <Menu DockPanel.Dock="Top" SnapsToDevicePixels="True">
            <MenuItem Header="Файл" />
            <MenuItem Header="Правка" />
        </Menu>
        <ToolBar DockPanel.Dock="Top" SnapsToDevicePixels="True">
            <ToolBar.Resources>
                <Style TargetType="{x:Type Image}">
                    <Setter Property="SnapsToDevicePixels" Value="true" />
                    <Setter Property="Stretch" Value="None" />
                </Style>
            </ToolBar.Resources>
            <Button Command="ApplicationCommands.New" >
                <Image Source="Images/New.png" />
            </Button>
            <Button Command="ApplicationCommands.Open">
                <Image Source="Images/Open.png" />
            </Button>
        </ToolBar>
    </DockPanel>
</Window>




Это сообщение отредактировал(а) snav - 9.2.2010, 12:29
PM   Вверх
exBlender
Дата 10.2.2010, 05:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.10.2009

Репутация: 9
Всего: 9



Глючный форум сожрал мой длинный пост с разъяснениями... 
Короче, если при жесткой высоте в пикселях иконки выглядят четко, ставьте ее, и всё... Не будет у вас работать SnapsToDevicePixels с битмапами, по крайней мере, до выхода .NET4.
--------------------
HTML и CSS забыв как страшный сон, хвалу я заммэлу пою и фирме Майкрософт.
PM MAIL   Вверх
kasner
Дата 10.2.2010, 09:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: 1



Код

    <Image Source="bitmap.png"  RenderOptions.BitmapScalingMode="NearestNeighbor"/>


RenderOptions
BitmapScalingMode
PM MAIL   Вверх
snav
Дата 11.2.2010, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 8.9.2007

Репутация: 2
Всего: 4



kasner, спасибо. Взял на заметку. К сожалению, это будет работать только при разрешении экрана 96 dpi, а при 120 dpi будет очень некрасиво, т.е. нужно отслеживать физическое разрешение экрана и вручную устанавливать подходящий BitmapScalingMode.


PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | WPF и Silverlight | Следующая тема »


 




[ Время генерации скрипта: 0.0513 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.