Картина, чертеж, схема и т. д. могут рассматриваться как совокупность графических примитивов: точек, линий, окружностей, дуг и другие. Таким образом, для того чтобы на дисплее возникла нужная картинка, программа обязана обеспечить вычерчивание (вывод) графических примитивов, основополагающих эту картинку.
Вычерчивание графических примитивов на плоскости компонента (формы либо области вывода картинки) осуществляется использованием соответствующих способов к свойству Canvas этого компонента.
Более просто вывести картинку, которая располагается в файле с расширением bmp, jpg либо ico, возможно с помощью компонента image, значок которого располагается на вкладке Additional палитры (рисунок 3).

Рисунок 4 - Вкладка Additional. Значок компонента Image
Иллюстрацию, которая станет выведена в поле компонента image, можно задать как в период разработки формы приложения, так и в период работы программы [16].
В период разработки формы иллюстрация задается установкой значения характеристики picture методом выбора файла иллюстрации в шаблонном диалоговом окне, которое появляется в результате щелчка на командной кнопке Load окна Picture Editor (рисунок 5).

Рисунок 5 – Окно Picture Editor
Чтобы запустить Image Editor, необходимо в окне Object Inspector выбрать свойство Picture и щелкнуть на кнопке с тремя точками. В случае если размер картинки больше объема компонента, то свойству strech необходимо присвоить значение True и установить значения параметров width и Height пропорционально настоящим размерам иллюстрации. Чтобы вывести иллюстрацию в поле компонента image в период работы программы, необходимо применить способ LoadFromFile к свойству Picture, указав в качестве параметра название файла иллюстрации. Например, инструкция
Form1.Image1.Picture. LoadFromFile('e:\temp\bart. bmp')
загружает иллюстрацию из файла bart. bmp и выводит ее в поле вывода иллюстрации (imagel).
Способ LoadFromFile разрешает отображать иллюстрации разных графических форматов: BMP, WMF, JPEG (файлы с расширением jpg).
Следующая программа использует компонент image для просмотра иллюстраций, которые находятся в обозначенном пользователем каталоге. Диалоговое окно программы приведено на рисунке 6 [5].

Рисунок 6 - Слайд-проектор
2.2. Графические возможности языка программирования Java
2.2.1. Языковые особенности
Для разработки прикладного программного обеспечения на языке Java, а точнее графического интерфейса приложений, традиционно употребляются пакеты AWT и Swing.
AWT (для доступа загружается пакет java. awt) имеет набор классов, позволяющих выполнять графические операции и создавать оконные составляющие управления, аналогично тому, как это делается в VBA и Delphi;
Swing (для доступа загружается пакет javax. swing) имеет новые классы, в основном подобные AWT. К именам классов добавляется J (JButton, JLabel и другие) [3].
Сейчас главные классы для возведения визуальных интерфейсов находятся в пакете Swing. Из пакета AWT используются классы для обработки сообщений.
- Разработка Swing предоставляет механизмы для управления следующими качествами представления:
- Клавиатура (Swing предоставляет метод перехвата пользовательского ввода);
- Цвета (Swing предоставляет метод менять расцветки, которые вы видите на дисплее);
- Текстовое поле для ввода (Swing предоставляет текстовые составляющие для обработки всех ежедневных задач) [19].
JComponent
Базовым классом всей библиотеки визуальных компонентов Swing считается JComponent. Это суперкласс других визуальных компонентов. Он считается абстрактным классом, поэтому в реальности нельзя сделать JComponent, хотя он имеет сотни функций, которые любой компонент Swing применяет как результат иерархии классов. Класс JComponent гарантирует инфраструктуру окрашивания для всех компонент, он знает, как обрабатывать все нажатия кнопок на клавиатуре, его подклассы, следовательно, обязаны лишь прослушивать конкретные кнопки. Класс JComponent кроме того имеет способ add(), который разрешает прибавить иные объекты класса JComponent, так можно прибавить любой Swing-компонент к любому иному для создания вложенных компонентов (к примеру, JPanel, содержащую JButton, либо даже более необычные комбинации, к примеру JMenu, содержащее JButton).
JLabel
Самым обычным и вмести с этим главным визуальным компонентом в библиотеке Swing считается JLabel, либо «метка». К методам данного класса относится установка текста, изображения, выравнивания и прочих компонентов
JButton
Главным активным компонентом в Swing считается Jbutton.
Способы, применяемые для конфигурации параметров JButton, подобны способам JLabel. Они управляют текстом, изображениями и ориентацией
JFrame
КлассJFrame считается контейнером, позволяющим добавлять к для себя иные составляющие для их организации и предоставления пользователю.
JFrame выступает в качестве моста между независящими от определенной операционной системы Swing-частями и настоящей операционной системой, на которой они трудятся. JFrame регистрируется как окно и таким образом получает многие свойств окошка операционной системы: минимизация/максимизация, изменение размеров и движение [14].
При построении визуальных приложений в Java невозможно просто случайно расположить их на дисплее и ждать от их незамедлительной работы. Составляющие нужно расположить в конкретные места, откликаться на взаимодействие с ими, обновлять их на базе данного взаимодействия и наполнять данными. Для действенной работы с зрительными составляющими нужна установка следующих трех архитектурных основополагающих Swing.
1. Схемы (layout). Swing содержит огромное количество схем, которые представляют собой классы, управляющие размещением компонентов в приложении и тем, что обязано случится с ними при изменении объемов окна приложения либо при удалении либо добавлении компонентов.
2. События (event). Программа обязана обращать внимание на нажатия клавиш, нажатия клавиши мыши и на все другое, что пользователь может сделать.
3. Модели (model). Для наиболее сложных компонентов (перечни, таблицы, деревья) и даже для некоторых более простых, например, JComboBox, модели – это самый действенный метод работы с данными. Они убирают огромную часть работы по обработке данных из самого компонента и дают оболочку для совместных объектных классов данных (к примеру, Vector и ArrayList) [2].
2.2.2. Графические методы и сцены Java 3D
Почти все из поверхностей, на которых отображается графика, — к примеру, экраны мониторов либо листы бумаги — считаются плоскими. Программирование 3D графики разрешает воссоздавать близкие к реальности модели большого мира на поверхностях в двухмерном облике.
3D графика имеет достоинства в том смысле, что фактически все, что видно вокруг, можно моделировать — цифровым образом представить форму и объемы, а также показать — нарисовать на экране компьютера [7].
В настоящее время присутствует огромное количество приложений, позволяющих трудиться с трехмерной графикой — от игр и медицинского оборудования до трехмерных игр и хранителей экранов. Заслуги в сфере компьютерного аппаратного обеспечения дали почву значительному подъему энтузиазма к трехмерной графике. Успех в разработке высокопроизводительного аппаратного обеспечения содействовали исследованиям высокоэффективных интерфейсов прикладного программирования 3D графики — от сделанного в 70-х годах API CORE от Siggraph и создания в 80-х годах прошлого века OpenGL фирмой SGI, до нынешних средств программирования 3d графики, включая Microsoft DirectSD и Java3D.
3D графика требует графических алгоритмов, использующих непростой математический аппарат. Java 3D дает разработчикам верные и развитые возможности для работы с трехмерной графикой, в этот момент оставляя за сценой арифметику, нужную для реализации графических алгоритмов. Java 3D — это высокоуровневый API программирования 3D графики. Java 3D управляет всеми нужными низкоуровневыми операциями для работы с графикой, поэтому разработчики имеют все шансы создавать трудоемкие трехмерные сцены, не задумываясь о применяемом аппаратном обеспечении. Аналогично Java, код Java 3D, будучи прописанным, однажды, действует везде. Приложения Java 3D будут работать подобным образом на разных графических платформах [11].
Sun Microsystems разрабатывала Java 3D API, имея в виду четыре главные цели: переносимость приложений, автономия от аппаратного обеспечения, масштабирование производительности и способность работать с трехмерной графикой через сеть. Упрощение трудоемких графических операций играло главную роль при разработке Java 3D API.
Вот некие области и сферы внедрения API Java 3D:
- визуализация трехмерных данных;
- взаимодействующие между собой приложения;
- игры (в особенности сетевые с несколькими соучастниками);
- деловая графика;
- интерактивные обучающие системы;
- моделирование и визуализация молекулярных структур;
- разработка трехмерных Web-приложений;
- разработка трехмерных графических пользовательских интерфейсов.
Java 3D предлагает несколько многофункциональных способностей, которые имеют все шансы использоваться для исследования трехмерных графических приложений:
- Поведения. Java 3D поддерживает огромное количество поведений, включая анимацию и движение, обнаружение столкновений (выявление, когда два объекта сталкиваются) и морфинг (трансформацию одного изображения в иное изображение).
- Вуалирование. Java 3D поддерживает вуалирование содержимого, собственно ограничивает возможность просмотра конкретных объектов в сцене. К примеру, вуалирование помогает сделать близкую к реальности модель дождя либо урагана в игре.
- Геометрия. Java 3D имеет интегрированные трехмерные графические примитивы для сотворения геометрических фигур. В Java 3D можно показывать сцены, сделанные в других приложениях 3D графики, к примеру, SDStudio Мах, VRML и LightwaveSD.
- Освещение. Java 3D разрешает освещать объекты трехмерной сцены. Java 3D поддерживает разные виды освещения и управления его расцветкой, направлением и интенсивностью.
- Звук. Оригинальной необыкновенностью Java 3D является поддержка SD-звука.
- Текстуры. Java 3D поддерживает наложение текстур на плоскости трехмерных фигур [14].
Изображения, отображаемые при помощи Java 3D, именуют сценами. Сцену кроме того именуют виртуальной вселенной – это трехмерное пространство, которое имеет набор фигур. Корнем сцены Java 3D считается объект VirtualUniverse.
Объект VirtualUniverse имеет систему координат для расположения графов сцены, которые она имеет. Любая трехмерная сцена Java 3D описывается вблизи графов сцены – иерархических структур, которые задают атрибуты трехмерной среды. Любой граф сцены закреплен к объекту VirtualUniverse в конкретной точке системы координат виртуальной системы.
Граф сцены состоит из внутренней системы координат и графов – веток. Любой граф сцены имеет внутреннюю систему координат. Класс Locale считается корневым узлом графа сцены и имеет вложенные системы координат для виртуальной вселенной и ряд графов-ветвей. В Java 3D имеется два вида графов-ветвей: графы-ветви содержимого и графы-ветви представления. Графы-ветви содержимого задают содержимое в трехмерных сценах, включая геометрию, освещение, текстуры, вуалирование и поведение. Графы-ветви представления содержат платформы исследования — коллекции объектов, которые характеризуют перспективу, позицию, ориентацию и масштаб в трехмерных сценах. Платформу исследования также именуют точкой зрения.
Класс SceneGraphObject Java 3D — базовый класс для всех объектов в графе-ветви. Объект SceneGraphObject имеет возможность содержать группу Group, которая представляет из себя узел, имеющий огромное количество дочерних узлов. Дочерними узлами группы Group могут быть категории (объект Group), листья (объект Leaf) либо узлы-компоненты (объект NodeComponents). Узлы-листья Leaf задают геометрию, освещение и звук в графах-ветвях содержимого и составляющие платформы наблюдения в графе-ветви представления.
Объекты NodeComponent задают разные составляющие в объектах Group и Leaf, в том числе текстуру и атрибуты расцветки [8].
ЗАКЛЮЧЕНИЕ
В данной курсовой работе было рассмотрено создание графических приложений в языках программирования высокого уровня.
При рассмотрении данной темы были решены такие задачи:
- проанализированы системы программирования;
- изучены графические возможности языка программирования Delphi;
- изучены графические возможности языка программирования Java;
- изучены языковые особенности;
- изучены графические методы Delphi и Java 3D.
Из проделанной работы, можно сделать следующие выводы.
Языки низкого уровня практически не похожи на обычный для человека язык. Это могут быть разные виды языка ассемблера либо сами машинные коды. Используются они для воплощения особых частей программ для обеспечения большей производительности.
Программы на языках высокого уровня близки к натуральному (английскому) языку и предполагают набор этих команд. Перечислим наиболее известные системы программирования.
Delphi основан на Pascal, особом языке для быстрого изучения программирования, поэтому он владеет обычным и наглядным синтаксисом, не перегруженным особыми знаками не требующим заучивания неочевидных и трудночитаемых последовательностей.
Языковые специфики языка Delphi/Pascal таковы, что используют в виде ключевых слов просто читаемые и интерпретируемые символьные очередности. Это разрешает «проговаривать» тексты программ, и это поддерживается при использовании Delphi/Pascal.
Для разработки прикладного программного обеспечения на языке Java, а точнее графического интерфейса приложений, традиционно употребляются пакеты AWT и Swing.
AWT (для доступа загружается пакет java. awt) имеет набор классов, позволяющих выполнять графические операции и создавать оконные составляющие управления, аналогично тому, как это делается в VBA и Delphi.
Swing (для доступа загружается пакет javax. swing) имеет новые классы, в основном подобные AWT. К именам классов добавляется J (JButton, JLabel и другие).
В настоящее время присутствует огромное количество приложений, позволяющих работать с трехмерной графикой — от игр и медицинского оборудования до трехмерных игр и хранителей экранов. Заслуги в сфере компьютерного аппаратного обеспечения дали почву значительному подъему энтузиазма к трехмерной графике.
Недочетом языков высокого уровня считается больший размер программ в сравнении с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и приборов, которые имеют большой размер памяти.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Алгоритмизация и программирование: Учебное пособие / . - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2014. - 352 с.
2. Бабушкина, по объектно-ориентированному программированию / , . - 3-е изд. (эл.). - М. : БИНОМ. Лаборатория знаний, 2012. - 366 с.
3. Базовые средства программирования/ . - М.: Форум: НИЦ ИНФРА-М, 2015. - 304 с.
4. Введение в специальность программиста: Учебник / . - 2-e изд., испр. и доп. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 208 с.
5. Голицына программирования: Учебное пособие / , , . - 3-e изд., перераб. и доп. - М.: Форум: ИНФРА-М, 2015. - 400 с
6. Ездаков, и логическое программирование: учебное пособие / . - 2-е изд. - М. : БИНОМ. Лаборатория знаний, 2011. - 119 с.
7. Информатика, автоматизированные информационные технологии и системы: Учебник / . - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2015. - 544 с.
8. Каймин : Учебник/ , 6-е изд. - М.: НИЦ ИНФРА-М, 2015. - 285 с
9. Культин программирования в Delphi XE. — СПб.: БХВ-Петербург, 2011. — 405 с.
10. Культин, программирования в Delphi 7 / . — 2-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 640 с.
11. Масленникова, искусственного интеллекта: учеб. пособие / , . - 2-е изд., стер. - М.: ФЛИНТА, 2013. - 282 c.
12. Машнин Java-технологии на практике. — СПб.: БХВ-Петербург, 2010. — 560 с.
13. Монахов программирования Java и среда NetBeans. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2011. — 703 с.
14. Окулов, программирования / . - 5-е изд., испр. - М.: БИНОМ. Лаборатория знаний, 2011. - 440 с.
15. Осипов данных и Delphi. Теория и практика. — СПб.: БХВ-Петербург, 2011. — 746 с.
16. Основы алгоритмизации и программирования: Учебное пособие / ; Под ред. . - М.: ИД ФОРУМ: ИНФРА-М, 2015. - 416 с.
17. Программирование на языке Object Pascal: Учеб. пос. / и др; Под ред. . - М.: ИД ФОРУМ: НИЦ ИНФРА-М, 2013. - 496 с.
18. Программирование на языке высокого уровня. Учебное пособие / ; Под ред. . - М.: ФОРУМ: ИНФРА-М, 2015. - 496 с.
19. Программирование на языке Си/, - М.: Форум, НИЦ ИНФРА-М, 2015. - 144 с.
20. Технология разработки программного обеспечения: Учеб. пос. / , , ; Под ред. проф. - М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. - 400 с.
21. Языки программирования: Учебное пособие / , , . - 3-e изд., перераб. и доп. - М.: Форум: ИНФРА-М, 2015. - 400 с.
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 |


