Опубликован: 14.08.2012 | Доступ: свободный | Студентов: 880 / 20 | Оценка: 5.00 / 5.00 | Длительность: 09:59:00
Специальности: Программист
Самостоятельная работа 24:

Графика, управление объектами

31.2. Загрузка изображений из Интернета

Для загрузки изображения в элемент Image из Интернета достаточно задать полный адрес изображения при настройке его свойства Source. Например, так, как показано на рис. 31.7.

Указание адреса изображения в Интернете

Рис. 31.7. Указание адреса изображения в Интернете

Мы добавили это изображение на новую страницу Internet.xaml

Для того, чтобы загрузить изображение в элемент по какому-либо событию, нужно, для начала, создать соответствующую инфраструктуру. А именно, мы добавили на страницу новый текстовый блок с надписью "Коснитесь здесь для загрузки изображения" и определили для него обработчик события Tap. Кроме того, мы добавили новый элемент Image, в который планируем загружать изображение. В листинге 31.3 вы можете видеть XAML-код этих элементов.

           <image number="31." Height="226" HorizontalAlignment="Left" Margin="12,71,0,0" 
           Name="image2" Stretch="Fill" VerticalAlignment="Top" Width="262"/>
           <TextBlock Height="74" HorizontalAlignment="Left" Margin="9,26,0,0" 
           Name="textBlock1" Text="Коснитесь здесь для загрузки изображения" 
           VerticalAlignment="Top" Tap="textBlock1_Tap" />
Листинг 31.3. XAML-код элементов

Теперь нужно поработать над обработчиком события Tap. Прежде чем загрузить изображение в элемент Image, нам нужно создать объект типа BitmapImage, воспользовавшись ссылкой на изображение. Свойство Source объекта Image – это не обычная текстовая строка, поэтому просто присвоить ему адрес изображения не достаточно. Для работы с объектом BitmapImage нам понадобится подключить в файле Internet.xaml.cs пространство имен System.Windows.Media.Imaging;

Полный код файла приведен в листинге 31.4

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Windows.Media.Imaging;

namespace P24_1
{
    public partial class Internet : PhoneApplicationPage
    {
        public Internet()
        {
            InitializeComponent();
        }

      
        private void textBlock1_Tap(object sender, GestureEventArgs e)
        {
            Uri uri = new Uri("http://img-2004-09.photosight.ru/18/620518.jpg"); 
            BitmapImage bmp = new BitmapImage(uri); 
            image2.Source = bmp;
        }
    }
}
Листинг 31.4. Код файла Internet.xaml.cs

Вот как выглядит страница в процессе разработки, рис. 31.8. Обратите внимание на то, что изображение, заданное ссылкой в свойстве Source отображается и в процессе разработки.

Использование изображений из Интернета

Рис. 31.8. Использование изображений из Интернета
Гулич Анна
Гулич Анна
Невозможно пройти тесты, в окне с вопросами пусто