| Невозможно пройти тесты, в окне с вопросами пусто |
Графика, управление объектами
31.4. Манипуляция изображениями на экране
В качестве основы для манипуляции объектами на экране добавим на страницу (Manipulation.xaml) два изображения, опишем их свойства RenderTransform и назначим обработчики событий ManipulationDelta. В листинге 31.6 вы можете видеть XAML-код элементов.
<image number="31." Height="128"
HorizontalAlignment="Left"
Margin="185,298,0,0"
Name="image2"
Stretch="Fill"
VerticalAlignment="Top"
Width="128"
Source="/P24_1;component/Images/Wall.png" ManipulationDelta="image2_ManipulationDelta">
<image number="31.".RenderTransform>
<TranslateTransform x:Name="translate_im2" />
</Image.RenderTransform>
</Image>
<image number="31." Height="64"
HorizontalAlignment="Left"
Margin="185,138,0,0"
Name="image1"
Stretch="Fill"
VerticalAlignment="Top"
Width="64"
Source="/P24_1;component/Images/Bonus1.png" ManipulationDelta="image1_ManipulationDelta">
<image number="31.".RenderTransform>
<TranslateTransform x:Name="translate_im1" />
</Image.RenderTransform>
</Image>
Листинг
31.6.
XAML-код изображений
Событие ManipulationDelta происходит при изменении позиции касания при манипуляции. Есть еще несколько событий, которые происходят при манипуляции, так, это ManipulationStarted, сигнализирующее о начале манипуляции, и ManipulationCompleted, указывающее на окончание действия.
Теперь напишем код обработчиков в файле Manipulation.xaml.cs, листинг 31.7.
private void image1_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
translate_im1.X += e.DeltaManipulation.Translation.X;
translate_im1.Y += e.DeltaManipulation.Translation.Y;
}
private void image2_ManipulationDelta(object sender, ManipulationDeltaEventArgs e)
{
translate_im2.X += e.DeltaManipulation.Translation.X;
translate_im2.Y += e.DeltaManipulation.Translation.Y;
}
Листинг
31.7.
Код обработчиков ManipulationDelta
Прикоснувшись к изображению мы можем перемещать его по экрану.
На рис. 31.11 вы можете видеть экран приложения.
31.5. Выводы
В данной лабораторной работе мы рассмотрели различные варианты использования элемента управления Image для вывода изображений. В частности, вывод изображения, добавленного в проект на стадии разработки, загрузку изображений из Интернета, захват изображений с камеры, встроенной в телефон. Кроме того, мы рассмотрели методику манипуляции графическими объектами с использованием событий объекта Image
31.6. Задание
Изучите состав событий объекта Image, опишите возможные сценарии использования тех из них (вместе с подходящими вариантами трансформаций), которые, по вашему мнению, подходят для организации управления экранными объектами.
