Форум программистов, компьютерный форум CyberForum.ru

Аспект изображения для растяжения - Windows Phone

Восстановить пароль Регистрация
 
iAmIsU
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 12
24.09.2014, 01:10     Аспект изображения для растяжения #1
Как указать высоту Image, чтобы он максимально растягивался? Сейчас стоит Height="544", но на устройствах с разрешением, отличным от тестируемого будет беда. Когда ставлю Auto то вообще размер 0 выходит.


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
<phone:PhoneApplicationPage
    x:Class="firstApp.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:uc="clr-namespace:firstApp"
    mc:Ignorable="d"
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
    FontSize="{StaticResource PhoneFontSizeNormal}"
    Foreground="{StaticResource PhoneForegroundBrush}"
    SupportedOrientations="Portrait" Orientation="Portrait"
    shell:SystemTray.IsVisible="True">
 
    <!--LayoutRoot представляет корневую сетку, где размещается все содержимое страницы-->
    <Grid x:Name="LayoutRoot" Background="Transparent">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto"/>
            <RowDefinition Height="*"/>
        </Grid.RowDefinitions>
 
       
        <StackPanel x:Name="ContentPanel" Grid.Row="1" >         
            <Image x:Name ="image"  CacheMode="BitmapCache"  Height="544"  DoubleTap="ChoosePhoto_Click"/>
            <Button x:Name ="runButton" Content="Glitch!" HorizontalAlignment="Stretch"  Click="runButton_Click"/>
            <StackPanel x:Name="ContentPanelHorizontal"  Orientation="Horizontal" Grid.Row="1" >
                <CheckBox x:Name="chScan"  Content="Scan Lines" IsChecked="True" Width="180" />
                <CheckBox x:Name="chOldTv" Content="Old TV" Width="150" />
                <CheckBox x:Name="chDistort" Content="Cut" IsChecked="True" Width="118"  />
            </StackPanel>
        </StackPanel>
    </Grid>
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2014, 01:10     Аспект изображения для растяжения
Посмотрите здесь:

Окно выбора изображения Windows Phone

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
24.09.2014, 10:05     Аспект изображения для растяжения #2
ой не люблю я стек панели они такие странные.
вообще юзайте Stretch = Fill / Uniform To Fill
и переведите на гриды с процентами. имхо
iAmIsU
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 12
24.09.2014, 22:41  [ТС]     Аспект изображения для растяжения #3
Сделал с гридами, вроде толково вышло, спасибо. Теперь бьюсь с вот такой штукой:
Вместо Image из кода выше, у меня вот такой контрол
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
<UserControl x:Class="firstApp.UCImage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Name="uc" RenderTransformOrigin="0.5,0.5">  
  <UserControl.RenderTransform>
    <CompositeTransform/>
  </UserControl.RenderTransform>
 
  <Grid>
    <ViewportControl x:Name="viewport"
                     ManipulationStarted="OnManipulationStarted" ManipulationDelta="OnManipulationDelta"
                     ManipulationCompleted="OnManipulationCompleted" ViewportChanged="viewport_ViewportChanged" Background="#FFE6C7C7">
      <Canvas x:Name="canvas" >
                <Image x:Name="image"  
                       CacheMode="BitmapCache" RenderTransformOrigin="0,0"
               Source="{Binding ImageSource,ElementName=uc}" >
          <Image.RenderTransform>
            <CompositeTransform x:Name="compositeRenderTransform"/>
          </Image.RenderTransform>
        </Image>
      </Canvas>
    </ViewportControl>
  </Grid>
</UserControl>
Но когда я загружаю в него картинку, то она отображается с центра, а не с верхнего левого угла, может посоветуете что? Или годной литературы именно по разработке на windows phone, 2 книжки с сайта майкрософта не предлагать, там ничего не нашёл.
krupa
 Аватар для krupa
106 / 106 / 27
Регистрация: 13.12.2010
Сообщений: 407
25.09.2014, 10:29     Аспект изображения для растяжения #4
Не читал увы ни одной книги по wp, кроме Пугачёва 2-3 страниц в самом начале. так что, не посоветую (

а VerticalAlignment не поможет? поиграйтесь, Топ, Stretch?
iAmIsU
0 / 0 / 0
Регистрация: 13.01.2014
Сообщений: 12
25.09.2014, 13:01  [ТС]     Аспект изображения для растяжения #5
Оказывается изображение после загрузки нужно вручную центрировать кодом, вот нашёл пример вроде от майков по работе с Image. Может кому поможет http://code.msdn.microsoft.com/windo...iew/SourceCode
Yandex
Объявления
25.09.2014, 13:01     Аспект изображения для растяжения
Ответ Создать тему
Опции темы

Текущее время: 02:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru