Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Уроки Visual Basic arrow Visual Basic: усовершенствуем программу просмотра изображений (VB, Image, LoadPicture).
28.02.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Visual Basic: усовершенствуем программу просмотра изображений (VB, Image, LoadPicture). Печать E-mail
Автор megabax   
10.08.2010 г.
Первые шаги в программировании на Visual Basic

 Visual Basic: усовершенствуем программу просмотра изображений (VB, Image, LoadPicture).

На прошлом уроке мы написали простейший просмотрщик картинок. Сегодня мы доработаем его таким образом, что бы он мог автоматически уменьшать большие картинки с сохранением пропорции. Для этого наш компонент PictureBox уменьшим и сделаем невидимым (свойство Visible установим в false)*:

Visual Basic: усовершенствуем программу просмотра изображений (VB, Image, LoadPicture).

Кинем на форму компонент Image, который отличается от PictureBox  тем, что в отличии от последнего, может масштабировать картинку, а PictureBox  размер картинки сохраняет, но может менять собственные размеры. Присвоим ей имя Img*.

Visual Basic: усовершенствуем программу просмотра изображений (VB, Image, LoadPicture).

Теперь перепишем обработчик события Click списка файлов*:

Private Sub FileList_Click()
     Img.Width = 6500
     Pic.Picture = LoadPicture(DirBox.Path + "\" + FileList.FileName)
     ImWidth = ScaleX(Pic.Picture.Width, vbHimetric, vbPixels)
     imHeight = ScaleY(Pic.Picture.Height, vbHimetric, vbPixels)
     If ImWidth > imHeight Then
         Koeff = ImWidth / Img.Width
     Else
         Koeff = imHeight / Img.Height
     End If
     WidthNew = ImWidth / Koeff
     HeighNew = imHeight / Koeff
     Img.Width = WidthNew
     Img.Height = HeighNew
     Img.Picture = Pic.Picture
End Sub

 

Сначала мы устанавливаем ширину картинки:

 Img.Width = 6500

Так как в результате масштабирования изображения она может сбиться. Затем загружаем картинку:

 Pic.Picture = LoadPicture(DirBox.Path + "\" + FileList.FileName)

для нее то мы и оставили старый компонент PictureBox. Пересчитываем длину и ширину с учетом масштаба:

 

     ImWidth = ScaleX(Pic.Picture.Width, vbHimetric, vbPixels)
     imHeight = ScaleY(Pic.Picture.Height, vbHimetric, vbPixels)

 

В зависимости от того, что больше, длина или ширина вычисляем коэффициент пересчета размера картинки:

     If ImWidth > imHeight Then
         Koeff = ImWidth / Img.Width
     Else
         Koeff = imHeight / Img.Height
     End If

 

Применяем новые размеры и отображаем картинку:

 

     WidthNew = ImWidth / Koeff
     HeighNew = imHeight / Koeff
     Img.Width = WidthNew
     Img.Height = HeighNew
     Img.Picture = Pic.Picture

 

Теперь запустим программу и убедимся, что она правильно работает:

 

Visual Basic: усовершенствуем программу просмотра изображений (VB, Image, LoadPicture).

 

 


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  в соответствии со ст. 1274 ГК РФ программного продукта "Microsoft Visual Studio", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 22.11.2010 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги