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

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

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

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

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

Да, спасибо!

0%

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

0%

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

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

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

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


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

Тип Реферат
Предмет Информатика
Просмотров
825
Размер файла
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
146580
рейтинг
icon
3110
работ сдано
icon
1344
отзывов
avatar
Математика
Физика
История
icon
142254
рейтинг
icon
5881
работ сдано
icon
2654
отзывов
avatar
Химия
Экономика
Биология
icon
95082
рейтинг
icon
2030
работ сдано
icon
1273
отзывов
avatar
Высшая математика
Информатика
Геодезия
icon
62710
рейтинг
icon
1046
работ сдано
icon
598
отзывов
Отзывы студентов о нашей работе
53 946 оценок star star star star star
среднее 4.9 из 5
ТвГТУ
Огромное спасибо за быстро выполненную работу без каких-либо замечаний.
star star star star star
Московский университет имени С. Ю. Витте
заказывала 3 работы, все работы выполненны хорошо ,без замечаний, все приняли
star star star star star
ФГБОУ ВО ЗГУ
Работы выполнена качественно и без ошибок, рекомендую исполнителя! Спасибо Вам!:)
star star star star star

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

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

Вступительные испытания в меде

Онлайн-помощь, Биология в медицине

Срок сдачи к 16 июля

только что

Вступительные испытания

Онлайн-помощь, Элементарная Математика

Срок сдачи к 16 июля

только что

Тема Современные методы благовестия, страниц 25-30, антиплагиат

Курсовая, Современные методы благовестия

Срок сдачи к 31 июля

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

Вступительные по физике. А-01465

Онлайн-помощь, Физика

Срок сдачи к 17 июля

8 минут назад

Вступительный Алгебра и начало анализа . А-01462

Онлайн-помощь, Высшая математика

Срок сдачи к 18 июля

9 минут назад

Подготовить ответ на 10 страниц: теория, рассчитать показатели сделать вывод

Другое, Экономическая Безопасность

Срок сдачи к 17 июля

10 минут назад

Совершенствование системы управления рисками российских банков

Магистерская диссертация, Финансы и кредит

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

10 минут назад

Пензенская область, отчет по практике

Отчет по практике, Экономика

Срок сдачи к 19 июля

10 минут назад

Основы психолого-педагогического сопровождения в адаптивной физической...

Доклад, Основы психолого-педагогического сопровождения в адаптивной физической культуре и спорте

Срок сдачи к 16 июля

10 минут назад

Вступительный Русский язык . А-01463

Онлайн-помощь, Русский язык

Срок сдачи к 22 июля

10 минут назад

1. Аудит и оценка эффективности работы организации (на примере...

Курсовая, Финансы предприятий

Срок сдачи к 31 июля

10 минут назад

Решить 3 задачи, объяснить

Курсовая, Искусственный Интеллект

Срок сдачи к 18 июля

10 минут назад

Выполнить ряд лабораторных работ в cisco packet tracer

Лабораторная, Инфокоммуникационные системы и сети

Срок сдачи к 26 июля

10 минут назад

Вступительные испытания по химии . А-01464

Онлайн-помощь, Химия

Срок сдачи к 16 июля

10 минут назад

Тест по основам государства и права

Тест дистанционно, Обществознание

Срок сдачи к 17 июля

11 минут назад

Выполнить две лабораторные работы и оформить отчёт

Курсовая, Геодезия. Теория математической обработки геодезических уравнений

Срок сдачи к 20 июля

11 минут назад

Нужно по теме Перспективы использования сплавов на основе никелида...

Отчет по практике, материаловедение

Срок сдачи к 19 июля

11 минут назад

Время начала по мск 5:30, длительность 2 часа

Онлайн-помощь, Дискретная математика

Срок сдачи к 17 июля

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

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

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

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

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

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

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

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