Referat.me

Название: Программа для просмотра изображений

Вид работы: статья

Рубрика: Информатика и программирование

Размер файла: 14.34 Kb

Скачать файл: referat.me-139071.docx

Краткое описание работы: Воспользуемся компонентом Image для создания простейшей программы, позволяющей просматривать файлы изображений.

Программа для просмотра изображений

Владимир Коробицын

В первом уроке вы уже пользовались компонентом Image, служащем в основном для размещения изображения на форме. Воспользуемся этим компонентом для создания простейшей программы, позволяющей просматривать файлы изображений. Разместите компонент Image1 на форме Form1 так чтобы его размеры были примерно равны размерам формы. Для открытия файлов изображений понадобится компонент OpenPictureDialog (Окно для выбора графического файла), который находится во вкладке Dialogs (Окна общего диалога). Для стартовой формы Form1 его свойству WindowState (Статус окна) установите значение wsMaximized (Максимальное). Свойству AutoSize (Авторазмер) компонента Image1 установите значение true. Теперь размеры компонента Image1 будут автоматически выравниваться в соответствии с размерами просматриваемого изображения. В заголовок стартовой формы поместите надпись «Просмотр картинок». Напишите функцию обработки Image1Click:

//вызов окна диалога ОТКРЫТИЕ ГРАФИЧЕСКИХ ФАЙЛОВ

OpenPictureDialog1->Execute();

//поместить в поле Image1 загруженный с диска файл

Image1->Picture->LoadFromFile(OpenPictureDialog1->FileName);

Вторая инструкция записана в двух строках. Эта инструкция в поле компонента Image1 с помощью его свойства Picture (Изображение) размещает графический файл, загруженный с диска посредством функции LoadFromFile (Загрузить файл по указанному пути), которая в круглых скобках должна содержать путь и имя файла. В нашем случае путь загружаемого файла и его имя передаются из окна диалога «Открытие графических файлов» посредством свойства FileName (Путь и имя файла).

Запустите приложение на выполнение и проверьте его пригодность для просмотра изображений.

Построенное приложение не позволяет просматривать очень распространенные графические файлы форматов JPG и JPEG. Графические файлы указанных форматов являются многократно сжатыми, а потому часто используются при хранении большого количества графической информации. Также формат JPG применяется для сжатия растровых изображений получаемых в матрице цифровой фотокамеры. Такое преобразование происходит непосредственно в фотокамере для экономии ее памяти. Чтобы избавить приложение от этого недостатка, нужно в заголовочной части файла Unit1.cpp записать директиву #include <jpeg.hpp>, которая обеспечит возможность работы в вашем приложении с графическими файлами форматов JPG и JPEG.

Просматриваемое изображение располагается в верхнем левом углу формы. Для автоматической центровки изображения на форме в эту же функцию обработки Image1Click нужно дописать две инструкции:

//перемещение изображения в центр формы

Image1->Left=Form1->ClientWidth/2-Image1->Width/2;

Image1->Top=Form1->ClientHeight/2-Image1->Height/2;

Обратите внимание на то, что эта добавка в программном коде обязательно должна располагаться ниже уже написанных ранее инструкций, так как сначала надо поместить изображение в поле компонента Image, а уж за тем сместить его в нужное место на форме.

Проверьте, как повлияла добавка в программном коде на расположение изображения. Разберемся в логике этих инструкций. Первая из дописанных инструкций центрует изображение по горизонтали, вторая – по вертикали. Left – это свойство компонента Image, которое задает положение левого края компонента. Top – это свойство компонента Image, которое задает положение его верхнего края. Свойства Width (Ширина) и Height (высота) компонента Image определяют его размеры. Такие же свойства имеет форма, они для этого компонента отражают общие размеры окна вместе с рамкой. А вот свойства формы ClientWidth (Полезная ширина) и ClientHeight (Полезная высота) определяют площадь поверхности окна для размещения в нем других компонентов. Первая инструкция вычисляет координату левого края компонента Image так, что из половины ширины формы вычитается половина ширины компонента Image. Таким образом, осуществляется центровка изображения по горизонтали. Аналогично работает вторая инструкция, выполняя центровку изображения по вертикали.

В заголовок формы поместите путь и имя загружаемого файла изображения, добавив строку:

//в заголовок формы поместить информацию о пути и имени файла

Form1->Caption = OpenPictureDialog1->FileName;

Настройте окно общего диалога «Выбор графического файла» по вашему усмотрению, воспользовавшись его набором свойств. Например, свойству Title (Название) компонента OpenPictureDialog1 можно установить значение «Выбери картинку». Поэкспериментируйте с другими свойствами этого компонента, в том числе с его составными свойствами.

Похожие работы

  • Обработка данных в средах MathCAD и LabVIEW

    Подготовка исходного изображения. Обработка изображений путем поэлементных преобразований.

  • Публикация растровых карт

    Векторизуя космические снимки и сканированные карты, можно создавать различные векторные карты, однако во многих ситуациях требуется возможность работы непосредственно с растровыми данными.

  • Защита цифровых изображений от несанкционированного копирования

    В работе рассматриваются методы зашиты цифровых графических файлов от несанкционированного копирования. Предлагаются алгоритмы и программное обеспечение для решения этой задачи.

  • Оптимизация альтернативных форматов документов (не HTML)

    Поисковые роботы основных поисковых систем сейчас могут индексировать не только HTML страницы, но и много других форматов документов, таких как doc, pdf и т.д. Наступило время, когда нужно оптимизировать и эти форматы.

  • Фото- Vista

    Ни противники, ни тем более поклонники новой операционной системы от Microsoft не отрицают, что Windows Vista содержит массу встроенных утилит, существенно расширяющих ее функциональность.

  • Простейшие приемы построения анимации

    Мультимедийное приложение будет неполным без каких-либо элементов анимации. Для того чтобы заставить двигаться, например, автомобиль воспользуемся компонентом типа таймер.

  • JavaScript: полезные функции

    Эффект может встречаться в различных вариантах, самые распространенные из которых это: подсвечивание пунктов меню, бегающий указатель, сменяющаяся картинка.

  • Проведение АВС анализа в среде MS EXCEL

    Сортировка исходных данных по среднему запасу за квартал. Сумма среднего запаса за квартал по всем объектам. Распределение объектов управления по группам. Построение кривой АВС с помощью мастера диаграмм. Решение задачи XYZ параллельно с АВС анализом.

  • Виды компьютерной графики и графических файлов

    Характеристика цифровых изображений, применяющиеся в издательской деятельности. Отличительные особенности растровых и векторных изображений, понятие цветового охвата, изучение моделей для описания отраженных цветов. Форматы и виды графических файлов.

  • Сжатие информации

    Существует несколько методов сжатия (компрессии) данных. Все их можно разделить на две группы -- сжатие без потерь и с потерями. В первом случае распакованное сообщение точно повторяет исходное.