-Поиск по дневнику

Поиск сообщений в mozgotron

 -Подписка по e-mail

 

 -Интересы

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 24.02.2012
Записей:
Комментариев:
Написано: 29


Visual Basic 6.0. Алгоритм масштабирования размеров изображения в контроле Image

Воскресенье, 10 Мая 2015 г. 19:32 + в цитатник

Алгоритм проверок условий и пропорционального изменения размеров контрола Image

Visual Basic 6.0. Алгоритм проверок условий и пропорционального изменения размеров контрола Image/4826797_ (700x447, 92Kb)

Visual Basic 6.0. Алгоритм проверок условий и пропорционального изменения размеров контрола Image/4826797_Masshtabirovanie_v_Raspredvale_2 (700x360, 73Kb)

Visual Basic 6.0. Алгоритм проверок условий и пропорционального изменения размеров контрола Image/4826797_Masshtabirovanie_v_Raspredvale_3 (700x335, 72Kb)

Visual Basic 6.0. Алгоритм проверок условий и пропорционального изменения размеров контрола Image/4826797_Masshtabirovanie_v_Raspredvale_4 (616x410, 104Kb)

Процедура в коде формы:

Private Sub Form_Resize()

Dim ImgW As Integer, ImgH As Integer

'Ограничение на уменьшение всех контролов до нуля твипов при уменьшении формы, для предотвращения ошибки программы

If Form1.Height > 1 And Form1.Width > 1 Then

'Вычисление размеров изображения (ширины и высоты) под размер изменённого окна

If Picture1.Picture.Width <= Form1.Width And Picture1.Picture.Height <= Form1.Height Then

    ImgW = Picture1.Picture.Width

    ImgH = Picture1.Picture.Height

End If

If Picture1.Picture.Width > Form1.Width And Picture1.Picture.Height > Form1.Height Then

    ImgW = Form1.Width

    ImgH = Picture1.Picture.Height / (Picture1.Picture.Width / Form1.Width)

    If ImgH > Form1.Height Then

        ImgH = Form1.Height

        ImgW = Picture1.Picture.Width / (Picture1.Picture.Height / Form1.Height)

    End If

End If

If Picture1.Picture.Width > Form1.Width And Picture1.Picture.Height <= Form1.Height Then

    ImgW = Form1.Width

    ImgH = Picture1.Picture.Height / (Picture1.Picture.Width / Form1.Width)

    If ImgH > Form1.Height Then

        ImgH = Form1.Height

        ImgW = Picture1.Picture.Width / (Picture1.Picture.Height / Form1.Height)

    End If

End If

If Picture1.Picture.Height > Form1.Height - 2900 Then

    ImgH = Form1.Height - 2900

    ImgW = Picture1.Picture.Width / (Picture1.Picture.Height / (Form1.Height - 2900))

End If

'Изменение размеров изображения (ширины и высоты) под размер изменённого окна

    Image1.Width = ImgW

    Image1.Height = ImgH

End If

Серия сообщений "программирование":
Часть 1 - Visual Basic 6.0. Фильтрация недопустимых и ограничения количества вводимых символов
Часть 2 - Visual Basic 6.0. Алгоритм масштабирования размеров изображения в контроле Image

Метки:  

Аноним   обратиться по имени Суббота, 20 Апреля 2019 г. 15:55 (ссылка)
В VB6 не работает. Гавкает на "Picture1.Picture.Width":
Object doesn't support this property or method.
Ответить С цитатой В цитатник    |    Не показывать комментарий
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку