Гость
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / wpf подогнать по размеру image / 12 сообщений из 12, страница 1 из 1
18.02.2019, 18:38
    #39775851
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Добрый вечер!

Подскажите пожалуйста, есть ли в xaml стандартный инструмент, для пропорционального уменьшения фото?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
<Window.Resources>
        
        <XmlDataProvider x:Key="DataProvider" XPath="/root">
            <x:XData>
                <root xmlns="">
                    <Img>C:\TEMP\Images\1.jpg</Img>
                    <Img>C:\TEMP\Images\2.jpg</Img>
                    <Img>C:\TEMP\Images\3.jpg</Img>
                    <Img>C:\TEMP\Images\4.jpg</Img>
                </root>
            </x:XData>
        </XmlDataProvider>

        <Style TargetType="{x:Type ListBox}" x:Key="ItemTemplate">
            <Setter Property="Foreground" Value="White" />
            <Setter Property="Template">
                <Setter.Value>
                    <ControlTemplate TargetType="{x:Type ListBox}" >
                        <WrapPanel Margin="5" 
                                   IsItemsHost="True" 
                                   Orientation="Horizontal"
                                   ItemWidth="150" 
                                   VerticalAlignment="Top"
                                   HorizontalAlignment="Stretch">
                        </WrapPanel>
                    </ControlTemplate>
                </Setter.Value>
            </Setter>
        </Style>
    </Window.Resources>

    <Grid>
        <ListBox Style="{StaticResource ItemTemplate}" ItemsSource="{Binding Source={StaticResource DataProvider}, XPath=Img}">
            <ListBox.ItemTemplate>
                <DataTemplate>
                    <Border CornerRadius="6" Padding="3" Background="LightBlue" HorizontalAlignment="Left" VerticalAlignment="Top">
                        <Image Source="{Binding Path=InnerText}"/>
                    </Border>
                </DataTemplate>
            </ListBox.ItemTemplate>
        </ListBox>
    </Grid>
...
Рейтинг: 0 / 0
18.02.2019, 19:15
    #39775875
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Так Image его пропорционально уменьшает.
Единственное - мне попадались какие-то jpg, которые Image уменьшал не пропорционально, а вписал в квадрат, который я ему задал. Но так как это были несколько фото из одной серии и на сотнях других фото я с этим ни разу не столкнулся, я решил, что это какие-то кривые жпеги.
...
Рейтинг: 0 / 0
18.02.2019, 19:49
    #39775886
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Shocker.Pro,

Мне бы замостить фото в квадрат 150х150, при помощи масштабирования, не зависимо от съемки(вертикальной или горизонтальной). Чтобы не было не заполненных краёв квадрата снимком.
...
Рейтинг: 0 / 0
18.02.2019, 20:23
    #39775903
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Ну и?
Взял твой код, добавил
Код: xml
1.
<Image Source="{Binding Path=InnerText}" Width="150" Height="150"/>


все работает
...
Рейтинг: 0 / 0
18.02.2019, 20:25
    #39775905
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
...
Рейтинг: 0 / 0
18.02.2019, 20:39
    #39775916
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
NechtoЧтобы не было не заполненных краёв квадрата снимком.Nechtoдля пропорционального уменьшения фото?Я где-то тут не понимаю. Может ты хотел сказать "непропорционального"? Тогда используй Image.Stretch
...
Рейтинг: 0 / 0
19.02.2019, 07:30
    #39775999
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Shocker.ProТогда используй Image.Stretch
Он и так используется, по умолчанию равен Uniform (пропорциональное заполнение по меньшей стороне размеров Image). Возможно, ему требуется UniformToFill (пропорциональное заполнение по большей стороне с обрезанием изображения). Лично я вот из этого
NechtoЧтобы не было не заполненных краёв квадрата снимком.
вообще могу понять, кто на ком стоял, и что требуется.
А все доступные варианты Stretch с картинками приведены где обычно .
...
Рейтинг: 0 / 0
19.02.2019, 07:38
    #39776003
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Shocker.ProNechtoЧтобы не было не заполненных краёв квадрата снимком.Nechtoдля пропорционального уменьшения фото?Я где-то тут не понимаю. Может ты хотел сказать "непропорционального"? Тогда используй Image.Stretch

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

Image.Stretch - сейчас попробую
...
Рейтинг: 0 / 0
19.02.2019, 07:43
    #39776005
Сон Веры Павловны
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
NechtoВот видите по краям квадрата, имеются голубые не заполненные пустоты, вот их и нужно заполнить.
UniformToFill
...
Рейтинг: 0 / 0
19.02.2019, 07:45
    #39776006
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Да, нужно UniformTofill
...
Рейтинг: 0 / 0
19.02.2019, 08:06
    #39776011
Nechto
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Попробовал, все работает. Спасибо, за помощь!
...
Рейтинг: 0 / 0
19.02.2019, 11:03
    #39776078
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
wpf подогнать по размеру image
Это называется "непропорционально"
...
Рейтинг: 0 / 0
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / wpf подогнать по размеру image / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]