Всё сдал! - помощь студентам онлайн Всё сдал! - помощь студентам онлайн

Реальная база готовых
студенческих работ

Узнайте стоимость индивидуальной работы!

Вы нашли то, что искали?

Вы нашли то, что искали?

Да, спасибо!

0%

Нет, пока не нашел

0%

Узнайте стоимость индивидуальной работы

это быстро и бесплатно

Получите скидку

Оформите заказ сейчас и получите скидку 100 руб.!


Разработка ПО графического редактора

Тип Реферат
Предмет Информатика
Просмотров
838
Размер файла
283 б
Поделиться

Ознакомительный фрагмент работы:

Разработка ПО графического редактора

МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ

Факультет Учётно-Финансовый «К защите допускаю»

Кафедра АИС Демидович Е.М.

«» ____________2011 г.

КУРСОВАЯ РАБОТА

по дисциплине

«Визуальные средства разработки программных приложений»

на тему «Разработка ПО графического редактора»

Выполнил студент гр. 81101 ФИО Мороз В.А.

специальность ИСиТ (в экономике)

Руководитель _________________________ Демидович Е.М.

МИНСК 2011г.

РЕФЕРАТ

Курсовая работа

Студент гр.81101 Мороз В.А.

«Разработка программного обеспечения графического редактора»

Объем работы 27 страниц.

Ключевые слова: класс Form1,generic, внешний класс, внешний метод, замыкания, делегаты, локальные переменные.****

В курсовой работе описана разработка программы для работы с графическими файлами, используя язык программирования высокого уровня С# на платформе .NET, включая следующее аспекты: ****

1. Загрузка медиафайлов в поток

2. Использование событий MenuItem

3. Использование PictureBox

4. Работа с изображением загруженным в PictureBox

5. Использование библиотеки Drawing.Printing.PrintDocument

6. Использование статистических методов


МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ

Факультет: Учётно-Финансовый

Специальность: Информационные системы и технологии (в экономике)

УТВЕРЖДАЮ

Зав. кафедрой

_______________Курмашев В.И.

“___”_____________2011 года

ЗАДАНИЕ

на курсовой проект

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

студента Мороза В.А.

1. Тема: «Разработкапрограммного обеспечения графического редактора».

2. Срок сдачи студентом законченной курсовой работы.

3. Исходные данные: создать визуальное программное приложение для работы с графическими файлами; создать интерфейс для удобства взаимодействия пользователя и программы.

4. Перечень подлежащих разработке вопросов и календарный график

№ п/пНаименование вопросов курсовой работыСрок исполнения
1Подбор литературы
2Ознакомление с литературой
3Системное проектирование
4Функциональное проектирование
5Оформление курсовой работы

Руководитель ______________________________________Демидович Е.М.

Задание принял к исполнению______________________________________

(подпись)

ОГЛАВЛЕНИЕ

РЕФЕРАТ. 1

ПОСТАНОВКА ЗАДАЧИ.. 5

ВВЕДЕНИЕ.. 6

1.ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ.. 7

1.1. Разработка алгоритма работы приложения. 7

1.2. Разработка структуры приложения и структуры данных. 8

1.3. Разработка программного кода приложения. 9

1.4. Результат выполнения приложения. 11

1.5. Инструкция по использованию программы.. 13

1.5.1. Загрузка графического файла. 13

1.5.2.Вывод графического файла на печать.13

1.5.3.Изменение параметров страниц.13

1.5.4.Сохранение графического файла.14

1.5.5.Редактирования графического файла .14

1.5.6. Выход из программы.. 14

СПИСОК ЛИТЕРАТУРЫ... 16

Приложение. 17

ПОСТАНОВКА ЗАДАЧИ

Цель данной курсовой работы: разработка программы для работы с графическими файлами, используя язык программирования высокого уровня С# на платформе .NET.

В программе будут реализованы следующие функции:

1. Открывать графический файл.

2. Сохранять графический файл.

3. Вывод на печать.

4. Изменение страницы печати.

5. Изменение размеров графического файла.

ВВЕДЕНИЕ

Использование новых информационных технологий в разных сферах деятельности человека привело к разработке программного обеспечения для создания графических объектов(файлов) и дальнейшей работы с ними. Такое программное обеспечение было востребовано на рынке информационных технологий, потому постоянно изменяется, включая в себя всё новые и новые возможности.

Язык С# помогает создавать большие программные проекты, которые в будущем могут приносить отличную прибыль. Первые шаги программирования на языке С#, требуют тщательного проектирования макета программы, а также наличия литературы по данному языку программирования. Однако, при внимательном изучении литературы, можно добиться хороших познаний данного языка программирования и создавать достаточно хорошее программное обеспечение для разных сфер деятельности.


1. ФУНКЦИОНАЛЬНОЕ ПРОЕКТИРОВАНИЕ

1.1. Разработка алгоритма работы приложения

Алгоритм работы создаваемого приложения выглядит следующим образом.

1.2. Разработка структуры приложения и структуры данных

Для упрошённой работы реализовано меню, предназначенное для улучшения работы пользователя на персональном компьютере.

Структура меню имеет следующий вид:

1.3. Разработка программного кода приложения

Язык программирования С# в настоящее время считается основным языком, используемым для разработки коммерческих программных продуктов. Он является языком общего назначения. Естественная для него область применения – системное программирование, реализуемое во всех возможных вариантах. Кроме того, С# успешно используется во многих областях приложения, далеко выходящих за указанные рамки. Программное обеспечение написанное на С# в настоящее время используется на всех компьютерах, начиная с самых скромных микрокомпьютеров – до самых больших супер-ЭВМ.

В разрабатываемой программе используется класс Form1:

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.MainMenu mainMenu1;

private System.Windows.Forms.MenuItem menuFile;

private System.Windows.Forms.MenuItem menuOpen;

private System.Windows.Forms.MenuItem menuSave;

private System.Windows.Forms.MenuItem menuItem1;

private System.Windows.Forms.MenuItem menuPageSetup;

private System.Windows.Forms.MenuItem menuPreview;

private System.Windows.Forms.MenuItem menuPrint;

private System.Windows.Forms.MenuItem menuItem5;

private System.Windows.Forms.MenuItem menuExit;

private System.Windows.Forms.MenuItem menuView;

private System.Windows.Forms.MenuItem menuResize;

private System.Windows.Forms.OpenFileDialog openFileDialog1;

private System.Windows.Forms.SaveFileDialog saveFileDialog1;

private System.Windows.Forms.ContextMenu contextMenu1;

private System.Windows.Forms.PictureBox pictureBox1;

private System.Windows.Forms.MenuItem menuBase;

private System.Windows.Forms.MenuItem menuCenterImage;

private System.Windows.Forms.MenuItem menuAutoSize;

private System.Windows.Forms.MenuItem cmenuResize;

private System.Windows.Forms.MenuItem cmenuBase;

private System.Windows.Forms.MenuItem cmenuCenterImage;

private System.Windows.Forms.MenuItem cmenuAutoSize;

private System.Windows.Forms.StatusBar statusBar1;

private System.Windows.Forms.StatusBarPanel sbFile;

private System.Windows.Forms.StatusBarPanel sbSize;

private System.Windows.Forms.PrintDialog printDialog1;

private System.Windows.Forms.PrintPreviewDialog printPreviewDialog1;

private System.Windows.Forms.PageSetupDialog pageSetupDialog1;

private System.Drawing.Printing.PrintDocument printDocument1;

private IContainer components;

public Form1()

{

InitializeComponent();

}

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

Остальной код указан в Приложении

1.4. Результат выполнения приложения

Рабочее окно.

Программа с загруженным графическим файлом

Окно при вызове Параметров страницы

Вызов Предварительного просмотра

1.5. Инструкция по использованию программы

Программа предназначена работы с графическими файлами. Для функционирования программы необходим персональный компьютер любой работоспособной конфигурации. Программа может работать в различных операционных системах, таких как Windows 2000/XP/Vista/SEVEN.

Начало работы программы…

1.5.1. Загрузка графического файла

Для загрузки графического файла необходимо нажать файл-открыть (Ctrl+O), и выбрать необходимое изображение.

1.5.2.Вывод графического файла на печать.

Для вывода графического файла на печать необходимо нажать файл-Print (Ctrl+P), и ввести необходимые параметры.

1.5.3.Изменение параметров страниц.

Для изменение параметров страниц необходимо нажать файл-PageSetup, и ввести необходимые параметры

1.5.4.Сохранение графического файла.

Для сохранения графического файла необходимо нажать файл-сохранить (Ctrl+S), и выбрать место куда будет сохранено изображение.

1.5.5.Редактирования графического файла .

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

1.5.6. Выход из программы

Для выхода из программы, необходимо нажать файл-выход(Alt+F4).


ЗАКЛЮЧЕНИЕ

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

При выполнении курсового проекта были пройдены все этапы разработки специализированного прикладного программного обеспечения:

· формализация задачи;

· сбор необходимых исходных данных, используемых в программе;

· ознакомление с литературой;

· более углубленное изучение платформы .NET

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

· Открывать графический файл.

· Сохранять графический файл.

· Выводить на печать.

· Изменять страницы печати.

· Изменять размеры графического файла.

Для программы был разработан интерфейс, позволяющий не очень опытному пользователю работать с программой.

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

СПИСОК ЛИТЕРАТУРЫ

1. Лабор В.В. – С# Создание приложений для Windows (2003)

2. Шилдт Г. – Полный справочник по C#

3. Эндрю Троелсен - С# и платформа .NET

4. Павловская – Программирование на языке высокого уровня на С#.

5. Фролов А.В. Фролов Г.В. – Язык С#

6. Petzold_Programming_MS_Windows__Sharp_v12


Приложение

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

using System.IO;

using System.Drawing.Printing;

namespace PictureViewer

{

public class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.MainMenu mainMenu1;

private System.Windows.Forms.MenuItem menuFile;

private System.Windows.Forms.MenuItem menuOpen;

private System.Windows.Forms.MenuItem menuSave;

private System.Windows.Forms.MenuItem menuItem1;

private System.Windows.Forms.MenuItem menuPageSetup;

private System.Windows.Forms.MenuItem menuPreview;

private System.Windows.Forms.MenuItem menuPrint;

private System.Windows.Forms.MenuItem menuItem5;

private System.Windows.Forms.MenuItem menuExit;

private System.Windows.Forms.MenuItem menuView;

private System.Windows.Forms.MenuItem menuResize;

private System.Windows.Forms.OpenFileDialog openFileDialog1;

private System.Windows.Forms.SaveFileDialog saveFileDialog1;

private System.Windows.Forms.ContextMenu contextMenu1;

private System.Windows.Forms.PictureBox pictureBox1;

private System.Windows.Forms.MenuItem menuBase;

private System.Windows.Forms.MenuItem menuCenterImage;

private System.Windows.Forms.MenuItem menuAutoSize;

private System.Windows.Forms.MenuItem cmenuResize;

private System.Windows.Forms.MenuItem cmenuBase;

private System.Windows.Forms.MenuItem cmenuCenterImage;

private System.Windows.Forms.MenuItem cmenuAutoSize;

private System.Windows.Forms.StatusBar statusBar1;

private System.Windows.Forms.StatusBarPanel sbFile;

private System.Windows.Forms.StatusBarPanel sbSize;

private System.Windows.Forms.PrintDialog printDialog1;

private System.Windows.Forms.PrintPreviewDialog printPreviewDialog1;

private System.Windows.Forms.PageSetupDialog pageSetupDialog1;

private System.Drawing.Printing.PrintDocument printDocument1;

private IContainer components;

public Form1()

{

InitializeComponent();

}

protected override void Dispose( bool disposing )

{

if( disposing )

{

if (components != null)

{

components.Dispose();

}

}

base.Dispose( disposing );

}

#region Windows Form Designer generated code

private void InitializeComponent()

{

this.components = new System.ComponentModel.Container();

System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));

this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components);

this.menuFile = new System.Windows.Forms.MenuItem();

this.menuOpen = new System.Windows.Forms.MenuItem();

this.menuSave = new System.Windows.Forms.MenuItem();

this.menuItem1 = new System.Windows.Forms.MenuItem();

this.menuPageSetup = new System.Windows.Forms.MenuItem();

this.menuPreview = new System.Windows.Forms.MenuItem();

this.menuPrint = new System.Windows.Forms.MenuItem();

this.menuItem5 = new System.Windows.Forms.MenuItem();

this.menuExit = new System.Windows.Forms.MenuItem();

this.menuView = new System.Windows.Forms.MenuItem();

this.menuResize = new System.Windows.Forms.MenuItem();

this.menuBase = new System.Windows.Forms.MenuItem();

this.menuCenterImage = new System.Windows.Forms.MenuItem();

this.menuAutoSize = new System.Windows.Forms.MenuItem();

this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();

this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();

this.contextMenu1 = new System.Windows.Forms.ContextMenu();

this.cmenuResize = new System.Windows.Forms.MenuItem();

this.cmenuBase = new System.Windows.Forms.MenuItem();

this.cmenuCenterImage = new System.Windows.Forms.MenuItem();

this.cmenuAutoSize = new System.Windows.Forms.MenuItem();

this.pictureBox1 = new System.Windows.Forms.PictureBox();

this.statusBar1 = new System.Windows.Forms.StatusBar();

this.sbFile = new System.Windows.Forms.StatusBarPanel();

this.sbSize = new System.Windows.Forms.StatusBarPanel();

this.printDialog1 = new System.Windows.Forms.PrintDialog();

this.printPreviewDialog1 = new System.Windows.Forms.PrintPreviewDialog();

this.pageSetupDialog1 = new System.Windows.Forms.PageSetupDialog();

this.printDocument1 = new System.Drawing.Printing.PrintDocument();

((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();

((System.ComponentModel.ISupportInitialize)(this.sbFile)).BeginInit();

((System.ComponentModel.ISupportInitialize)(this.sbSize)).BeginInit();

this.SuspendLayout();

// mainMenu1

this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.menuFile,

this.menuView});

// menuFile

this.menuFile.Index = 0;

this.menuFile.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.menuOpen,

this.menuSave,

this.menuItem1,

this.menuPageSetup,

this.menuPreview,

this.menuPrint,

this.menuItem5,

this.menuExit});

this.menuFile.Text = "&Файл";

this.menuFile.Click += new System.EventHandler(this.menuFile_Click);

// menuOpen

this.menuOpen.Index = 0;

this.menuOpen.Shortcut = System.Windows.Forms.Shortcut.CtrlO;

this.menuOpen.Text = "&Открыть";

this.menuOpen.Click += new System.EventHandler(this.menuOpen_Click);

// menuSave

this.menuSave.Index = 1;

this.menuSave.Shortcut = System.Windows.Forms.Shortcut.CtrlS;

this.menuSave.Text = "&Сохранить";

this.menuSave.Click += new System.EventHandler(this.menuSave_Click);

// menuItem1

this.menuItem1.Index = 2;

this.menuItem1.Text = "-";

// menuPageSetup

this.menuPageSetup.Index = 3;

this.menuPageSetup.Text = "Параметры Стра&ницы";

this.menuPageSetup.Click += new System.EventHandler(this.menuPageSetup_Click);

// menuPreview

this.menuPreview.Index = 4;

this.menuPreview.Text = "Предварительный просм&отр ";

this.menuPreview.Click += new System.EventHandler(this.menuPreview_Click);

// menuPrint

this.menuPrint.Index = 5;

this.menuPrint.Shortcut = System.Windows.Forms.Shortcut.CtrlP;

this.menuPrint.Text = "&Печать";

this.menuPrint.Click += new System.EventHandler(this.menuPrint_Click);

// menuItem5

this.menuItem5.Index = 6;

this.menuItem5.Text = "-";

// menuExit

this.menuExit.Index = 7;

this.menuExit.Shortcut = System.Windows.Forms.Shortcut.AltF4;

this.menuExit.Text = "&Выход";

this.menuExit.Click += new System.EventHandler(this.menuExit_Click);

// menuView

this.menuView.Index = 1;

this.menuView.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.menuResize,

this.menuBase,

this.menuCenterImage,

this.menuAutoSize});

this.menuView.Text = "&Вид";

this.menuView.Popup += new System.EventHandler(this.menuView_Popup);

this.menuView.Click += new System.EventHandler(this.menuView_Click);

// menuResize

this.menuResize.Index = 0;

this.menuResize.Text = "&Растянутьнавсёокно";

this.menuResize.Click += new System.EventHandler(this.menuResize_Click);

// menuBase

this.menuBase.Index = 1;

this.menuBase.Text = "&Исходный размер";

this.menuBase.Click += new System.EventHandler(this.menuBase_Click);

// menuCenterImage

this.menuCenterImage.Index = 2;

this.menuCenterImage.Text = "&Центрировать";

this.menuCenterImage.Click += new System.EventHandler(this.menuCenterImage_Click);

// menuAutoSize

this.menuAutoSize.Index = 3;

this.menuAutoSize.Text = "&Поумолчанию";

this.menuAutoSize.Click += new System.EventHandler(this.menuAutoSize_Click);

// openFileDialog1

this.openFileDialog1.Title = "Выборизображения";

// saveFileDialog1

this.saveFileDialog1.Title = "Сохранениеизображения";

// contextMenu1

this.contextMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {

this.cmenuResize,

this.cmenuBase,

this.cmenuCenterImage,

this.cmenuAutoSize});

// cmenuResize

this.cmenuResize.Index = 0;

this.cmenuResize.Text = "&Растянутьнавсёокно";

this.cmenuResize.Click += new System.EventHandler(this.cmenuResize_Click);

// cmenuBase

this.cmenuBase.Index = 1;

this.cmenuBase.Text = "&Исходный размер";

this.cmenuBase.Click += new System.EventHandler(this.cmenuBase_Click);

// cmenuCenterImage

this.cmenuCenterImage.Index = 2;

this.cmenuCenterImage.Text = "&Центрировать";

this.cmenuCenterImage.Click += new System.EventHandler(this.cmenuCenterImage_Click);

// cmenuAutoSize

this.cmenuAutoSize.Index = 3;

this.cmenuAutoSize.Text = "&Поумолчанию";

this.cmenuAutoSize.Click += new System.EventHandler(this.cmenuAutoSize_Click);

// pictureBox1

this.pictureBox1.ContextMenu = this.contextMenu1;

this.pictureBox1.Dock = System.Windows.Forms.DockStyle.Fill;

this.pictureBox1.Location = new System.Drawing.Point(0, 0);

this.pictureBox1.Name = "pictureBox1";

this.pictureBox1.Size = new System.Drawing.Size(616, 266);

this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;

this.pictureBox1.TabIndex = 0;

this.pictureBox1.TabStop = false;

// statusBar1

this.statusBar1.Location = new System.Drawing.Point(0, 244);

this.statusBar1.Name = "statusBar1";

this.statusBar1.Panels.AddRange(new System.Windows.Forms.StatusBarPanel[] {

this.sbFile,

this.sbSize});

this.statusBar1.ShowPanels = true;

this.statusBar1.Size = new System.Drawing.Size(616, 22);

this.statusBar1.TabIndex = 3;

// sbFile

this.sbFile.Name = "sbFile";

this.sbFile.Width = 500;

// sbSize

this.sbSize.Name = "sbSize";

// printPreviewDialog1

this.printPreviewDialog1.AutoScrollMargin = new System.Drawing.Size(0, 0);

this.printPreviewDialog1.AutoScrollMinSize = new System.Drawing.Size(0, 0);

this.printPreviewDialog1.ClientSize = new System.Drawing.Size(400, 300);

this.printPreviewDialog1.Enabled = true;

this.printPreviewDialog1.Icon = ((System.Drawing.Icon)(resources.GetObject("printPreviewDialog1.Icon")));

this.printPreviewDialog1.Name = "printPreviewDialog1";

this.printPreviewDialog1.Visible = false;

// printDocument1

this.printDocument1.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);

// Form1

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(616, 266);

this.ContextMenu = this.contextMenu1;

this.Controls.Add(this.statusBar1);

this.Controls.Add(this.pictureBox1);

this.Menu = this.mainMenu1;

this.Name = "Form1";

this.Text = "Picture Viewer";

this.Load += new System.EventHandler(this.Form1_Load);

((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.sbFile)).EndInit();

((System.ComponentModel.ISupportInitialize)(this.sbSize)).EndInit();

this.ResumeLayout(false);

}

#endregion

private PictureBoxSizeMode[] ArrayMenu =

{

PictureBoxSizeMode.StretchImage,

PictureBoxSizeMode.Normal,

PictureBoxSizeMode.CenterImage,

PictureBoxSizeMode.AutoSize

};

private int selectedMode = 0;

[STAThread]

static void Main()

{

Application.Run(new Form1());

}

private void menuOpen_Click(object sender, System.EventArgs e)

{

OpenFileDialog diag = new OpenFileDialog();

diag.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*" ;

if (diag.ShowDialog() == DialogResult.OK)

{

pictureBox1.Image = new Bitmap(diag.OpenFile());

}

sbFile.Text = "Загрузка " + diag.FileName;

sbFile.Text = "Изображение " + diag.FileName;

sbSize.Text= String.Format("{0:#} x {1:#}", pictureBox1.Image.Width, pictureBox1.Image.Height);

}

private void menuSave_Click(object sender, System.EventArgs e)

{

SaveFileDialog diag = new SaveFileDialog();

diag.Filter = "jpg files (*.jpg)|*.jpg|All files (*.*)|*.*" ;

if(diag.ShowDialog() != DialogResult.OK)

return;

string filename = diag.FileName;

FileStream fs = new FileStream(filename, FileMode.Create, FileAccess.ReadWrite);

pictureBox1.Image.Save(fs, System.Drawing.Imaging.ImageFormat.Jpeg);

fs.Close();

}

private void menuExit_Click(object sender, System.EventArgs e)

{

this.Close();

}

private void menuResize_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[0];

pictureBox1.Invalidate();

}

}

private void menuBase_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[1];

pictureBox1.Invalidate();

}

}

private void menuView_Popup(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

bool ImLoad = (pictureBox1.Image != null);

foreach (MenuItem menuitem in ((MenuItem)sender).MenuItems)

{

menuitem.Enabled = ImLoad;

menuitem.Checked = (this.selectedMode == menuitem.Index);

}

}

}

private void menuCenterImage_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[2];

pictureBox1.Invalidate();

}

}

private void menuAutoSize_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[3];

pictureBox1.Invalidate();

}

}

private void cmenuResize_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[0];

pictureBox1.Invalidate();

}

}

private void cmenuBase_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[1];

pictureBox1.Invalidate();

}

}

private void cmenuCenterImage_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[2];

pictureBox1.Invalidate();

}

}

private void cmenuAutoSize_Click(object sender, System.EventArgs e)

{

if (sender is MenuItem)

{

MenuItem menuitem = (MenuItem)sender;

selectedMode = menuitem.Index;

pictureBox1.SizeMode = ArrayMenu[3];

pictureBox1.Invalidate();

}

}

private void menuPageSetup_Click(object sender, System.EventArgs e)

{

PageSetupDialog diag

= new PageSetupDialog();

diag.Document = printDocument1;

diag.ShowDialog();

}

private void menuPreview_Click(object sender, System.EventArgs e)

{

PrintPreviewDialog diag

= new PrintPreviewDialog();

diag.Document = printDocument1;

diag.ShowDialog();

}

private void menuPrint_Click(object sender, System.EventArgs e)

{

PrintDialog diag = new PrintDialog();

diag.Document = printDocument1;

if (diag.ShowDialog() == DialogResult.OK)

{

printDocument1.Print();

}

}

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

//Если в pictureBox1 не загружена изображение, возвращаемся назад

if (pictureBox1.Image == null)

{

e.Cancel = true;

return;

}

//Определяемпечатнуюобластьстраницы

float leftMargin = e.MarginBounds.Left;

float rightMargin = e.MarginBounds.Right;

float topMargin = e.MarginBounds.Top;

float bottomMargin= e.MarginBounds.Bottom;

float printableWidth = e.MarginBounds.Width;

float printableHeight = e.MarginBounds.Height;

//Cоздаемэкземпляр graph класса Graphics

Graphics graph = e.Graphics;

//Создаемэкземпляр font класса Font

Font font= new Font("Comic Sans MS", 16);

//Определяемвысотушрифта

float fontHeight = font.GetHeight(graph);

//Определяемразмерпробелов

float spaceWidth = graph.MeasureString(" ", font).Width;

//Определяем область, в которую будет вписываться изображение,

//размер наибольшей стороны изображения составялет 90%

//от кратчайшей стороны листа

float imageLength;

float Xposition = leftMargin;

float Yposition = topMargin + fontHeight;

if (printableWidth < printableHeight)

{

imageLength = printableWidth * 90/100;

Yposition += imageLength;

}

else

{

imageLength = printableHeight * 90/100;

Xposition += imageLength + spaceWidth;

}

// Выводимизображениевобласти rectImage

Rectangle rectImage = new Rectangle((int)leftMargin + 1, (int)topMargin + 1,(int)imageLength, (int)imageLength);

graph.DrawImage(pictureBox1.Image,(int)leftMargin + 1, (int)topMargin + 1, (int)imageLength,(int)imageLength);

// Определяем область rectText и выводим в нее строку с размером файла

RectangleF rectText = new RectangleF(Xposition, Yposition, rightMargin - Xposition, bottomMargin - Yposition);

PrintText(graph, font,"Размеризображения: ", Convert.ToString(pictureBox1.Image.Size), ref rectText);

}

protected void PrintText( Graphics graph, Font font, string name, string text, ref RectangleF rectText)

{

// Определяем размеры печатной области для текста:

float leftMargin = rectText.Left;

float rightMargin = rectText.Right;

float topMargin = rectText.Top;

float bottomMargin = rectText.Bottom;

//Определяем высоту текста и координаты, где он будет выводиться:

float fontHeight = font.GetHeight(graph);

float Xposition = rectText.Left;

float Yposition = topMargin + fontHeight;

//Определяем ширину текста и размер пробелов

float spaceWidth = graph.MeasureString(" ", font).Width;

float nameWidth = graph.MeasureString(name, font).Width;

graph.DrawString(name, font,

Brushes.Black, new PointF(Xposition, Yposition));

leftMargin += nameWidth + spaceWidth;

Xposition = leftMargin;

// Формируем несколько строк для текста в случае,

// если он не будет умещаться на одной строке

string[] words

= text.Split(" rtn ".ToCharArray());

foreach (string word in words)

{

float wordWidth = graph.MeasureString(

word, font).Width;

if (wordWidth == 0.0)

continue;

if (Xposition + wordWidth > rightMargin)

{

// Начало с новой строки

Xposition = leftMargin;

Yposition += fontHeight;

if (Yposition > bottomMargin)

{

break;

}

}

graph.DrawString(word, font,Brushes.Black, new PointF(Xposition, Yposition));

Xposition += wordWidth;

}

// Исключаем область, на которую был выведен текст из области печати

//для избежания наложения текста и рисунка

rectText.Y = Yposition;

rectText.Height = bottomMargin - Yposition;

}

private void Form1_Load(object sender, EventArgs e)

{

}

private void menuFile_Click(object sender, EventArgs e)

{

}

private void menuView_Click(object sender, EventArgs e)

{

}

}

}


Нет нужной работы в каталоге?

Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.

Цены ниже, чем в агентствах и у конкурентов

Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит

Бесплатные доработки и консультации

Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки

Гарантируем возврат

Если работа вас не устроит – мы вернем 100% суммы заказа

Техподдержка 7 дней в неделю

Наши менеджеры всегда на связи и оперативно решат любую проблему

Строгий отбор экспертов

К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»

1 000 +
Новых работ ежедневно
computer

Требуются доработки?
Они включены в стоимость работы

Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован

avatar
Математика
История
Экономика
icon
148428
рейтинг
icon
3133
работ сдано
icon
1355
отзывов
avatar
Математика
Физика
История
icon
142374
рейтинг
icon
5882
работ сдано
icon
2654
отзывов
avatar
Химия
Экономика
Биология
icon
95919
рейтинг
icon
2035
работ сдано
icon
1275
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
55 050 оценок star star star star star
среднее 4.9 из 5
МИСИС
Работа выполнена досрочно, грамотно, лаконично, однозначно рекомендую!!!
star star star star star
УРФУ
Работа выполнена досрочно, мне все понравилось, надеюсь преподавателю тоже все понравится :)
star star star star star
БГТУ "Военмех"
Работа выполнена, вопросов у преподавателя не возникло, спасибо большое!
star star star star star

Последние размещённые задания

Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн

на фото

Контрольная, Информатика

Срок сдачи к 26 окт.

только что

до7 страниц . сновные отрасли социальной сферы мо долинский район...

Реферат, управление развитием муниципального образования

Срок сдачи к 25 окт.

только что

Решить контрольную работу номер 2

Контрольная, Управление Рисками

Срок сдачи к 31 окт.

2 минуты назад

до7 страниц . сновные отрасли социальной сферы мо долинский район...

Реферат, управление развитием муниципального образования

Срок сдачи к 25 окт.

3 минуты назад

Решить задачу

Решение задач, прикладная механика

Срок сдачи к 25 окт.

4 минуты назад

Информатика

Решение задач, Информатика

Срок сдачи к 30 окт.

4 минуты назад

2 задачи без оформления, но с источниками

Решение задач, суд присяжных

Срок сдачи к 31 окт.

5 минут назад

Для многопролетной шарнирной балки на (рис1)1.провести климатический...

Решение задач, строительная механика

Срок сдачи к 28 окт.

6 минут назад

Отчёт по практике

Отчет по практике, Менеджмент

Срок сдачи к 27 окт.

7 минут назад

Классификация и функциональное значение...

Реферат, физиология

Срок сдачи к 25 окт.

7 минут назад

Организация труда в торговле

Диплом, Коммерция

Срок сдачи к 31 янв.

7 минут назад

решить курс по электротехнике на проходной балл

Тест дистанционно, электротехни

Срок сдачи к 10 нояб.

9 минут назад

сделать расчет в программе Эксель

Другое, Логистика

Срок сдачи к 29 окт.

11 минут назад

Особенности зарождения научного знания о государстве, праве и политике

Эссе, История и методология юридической науки

Срок сдачи к 29 окт.

11 минут назад

Сделать Лаб. работу World 2007

Лабораторная, Информационные технологии в юридической деятельности.

Срок сдачи к 29 окт.

11 минут назад

практика

Отчет по практике, Юриспруденция

Срок сдачи к 22 нояб.

11 минут назад

расчет

Контрольная, Электрические машины

Срок сдачи к 28 окт.

11 минут назад
planes planes
Закажи индивидуальную работу за 1 минуту!

Размещенные на сайт контрольные, курсовые и иные категории работ (далее — Работы) и их содержимое предназначены исключительно для ознакомления, без целей коммерческого использования. Все права в отношении Работ и их содержимого принадлежат их законным правообладателям. Любое их использование возможно лишь с согласия законных правообладателей. Администрация сайта не несет ответственности за возможный вред и/или убытки, возникшие в связи с использованием Работ и их содержимого.

«Всё сдал!» — безопасный онлайн-сервис с проверенными экспертами

Используя «Свежую базу РГСР», вы принимаете пользовательское соглашение
и политику обработки персональных данных
Сайт работает по московскому времени:

Вход
Регистрация или
Не нашли, что искали?

Заполните форму и узнайте цену на индивидуальную работу!

Файлы (при наличии)

    это быстро и бесплатно