Невозможно пройти тесты, в окне с вопросами пусто |
Графика, управление объектами
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, опишите возможные сценарии использования тех из них (вместе с подходящими вариантами трансформаций), которые, по вашему мнению, подходят для организации управления экранными объектами.