Фоновое изображение не будет отображаться в исходном размере - PullRequest
1 голос
/ 18 октября 2010

С помощью следующего кода я не могу получить фоновое изображение для отображения в исходном размере (оно всегда немного больше).Я попытался изменить свойство Stretch, но «None» кажется наиболее подходящим значением.

<Canvas Width="500" Height="500">
    <Canvas.Background>
        <ImageBrush 
            ImageSource="{Binding ElementName=w_window, Path=BackgroundImagePath}" 
            Stretch="None"
            AlignmentX="Left"
            AlignmentY="Top"
            />
    </Canvas.Background>
</Canvas>

На изображении ниже вы можете увидеть мое приложение слева и просмотрщик фотографий (установлен на оригинальныйразмер) справа.Comparison of size as rendered by my application (left) and a photo viewer (right)

Есть совет?(Кстати, настройка ClipToBounds="True" не работает.)

Кажется, моя проблема не ограничивается тем, когда изображение является фоном.Следующий код, в котором Image является единственным элементом, имеет ту же проблему определения размера.Эта проблема возникает не только на моей машине (то есть на других машинах эта проблема есть в приложении).

<Window x:Class="DiagramDesigner.Window2"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window2" Height="300" Width="1000">
    <Image 
        Source="C:\Users\patk\Downloads\Bottom_wnums.jpg"
        Stretch="None"
        HorizontalAlignment="Left"
        VerticalAlignment="Top"
        />
</Window>

1 Ответ

3 голосов
/ 19 октября 2010

Я сталкивался с этой проблемой с изображениями раньше.Тем не менее, в то время я использовал файлы PNG вместо JPG, но я предполагаю, что проблема может быть связана.Это может быть проблема с изображением, которое вы используете (так как код, который вы разместили, выглядит хорошо).Изображения должны храниться в формате 96 DPI (что является стандартом).Другие значения могут привести к масштабированию изображения.Если вы действительно не можете изменить / исправить изображение, чтобы выполнить это требование, вы можете проверить этот пост от Скотта Хансельмана , чтобы немного понять проблему, чтобы найти правильный ответ.

...