14754

УВЕЛИЧЕНИЕ И УМЕНЬШЕНИЕ ГРАФИЧЕСКИХ ИЗОБРАЖЕНИЙ

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная лабота №2 увеличение и уменьшение графических изображений Цель работы: Изучить методы увеличения и уменьшения цифровых изображений и применить полученные знания на практике. Задание: написать программу способную производить увеличение исходного и...

Русский

2013-06-09

469.1 KB

6 чел.

Лабораторная лабота №2

"увеличение и уменьшение графических изображений"

Цель работы: Изучить методы увеличения и уменьшения цифровых изображений и применить полученные знания на практике.

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

Код программы: 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

namespace lab2

{

   public partial class Form1 : Form

   {

       public string path;

       public int scale = 0;

       public byte r;

       public byte g;

       public byte b;

       public Bitmap bmp;

       public Bitmap out_bmp;

       public Form1()

       {

           InitializeComponent();

       }

       private void openFileDialogToolStripMenuItem_Click(object sender, EventArgs e)

       {

           OpenFileDialog dialog = new OpenFileDialog();

           dialog.Filter = "bmp | *.bmp";

           dialog.ShowDialog();

           

           bmp = (Bitmap)Image.FromFile(dialog.FileName);

           pictureBox1.Image = bmp;

       }

       private void textBox1_TextChanged(object sender, EventArgs e)

       {

           scale = Convert.ToInt32(textBox1.Text);

           scale = int.Parse(textBox1.Text);

       }

       private void button1_Click(object sender, EventArgs e)

       {

           if (scale != 0)

           {

               ScalePic1(scale, bmp);

           }

       }

       private void ScalePic1(int scale, Bitmap bmp)

       {

           int[, ,] new_color_matrix =

               new int[3, scale * bmp.Height, scale * bmp.Width];

           int[, ,] color_matrix = new int[3, bmp.Height, bmp.Width];

           Color tek_color;

           for (int i = 0; i < bmp.Height; i++)

               for (int j = 0; j < bmp.Width; j++)

               {

                   tek_color = bmp.GetPixel(j, i);

                   color_matrix[0, i, j] = tek_color.R;

                   color_matrix[1, i, j] = tek_color.G;

                   color_matrix[2, i, j] = tek_color.B;

               }

           out_bmp = new Bitmap(scale * bmp.Width, scale * bmp.Height);

           for (int x = 0; x < bmp.Width; x++)

               for (int y = 0; y < bmp.Height; y++)

               {

                   for(int i = 0; i < scale; i++)

                       for(int j = 0; j < scale; j++)

                           out_bmp.SetPixel(x * scale + i, y * scale + j, bmp.GetPixel(x, y));

               }

           pictureBox2.Image = out_bmp;

       }

       private void button2_Click(object sender, EventArgs e)

       {

           pictureBox3.Image = out_bmp;

       }

   }

}

Работа программы:

Вывод: я научился работе с масштабированием изображения.


 

А также другие работы, которые могут Вас заинтересовать

83235. Разработка программы для вычисления одного из интегралов одним из методом 422.96 KB
  В этой работе выполнено численное вычисление определенного интеграла методом прямоугольников(9) и трапеций(10). Двумя разных интегралов (1), (2) и за один запуск программы выполняется вычисление одного из интегралов одним из методом. Выбор интеграла и метода решения производится с помощью меню, организованного в диалоговом окне.
83236. Дослідження виховання підлітків та їх самооцінки 118 KB
  Актуальність теми полягає в тому, що в даний час все більше уваги приділяється самооцінці підлітка, а батьківське виховання впливає на самооцінку підлітка. Батьки є першою соціальним середовищем дитини і саме вони надають найбільш значущий вплив на становлення і формування багатьох рис особистості...
83237. Планування і проект організації виробництва, праці на дільниці по виготовленню булочки «Кільце з маком» 197.9 KB
  Важливу роль в харчовій промисловості відводиться хлібопекарській галузі, яка забезпечує населення своїми продуктами. Тому актуальним і важливим є аналіз стану хлібопекарської галузі, виявлення проблем у її функціонуванні та визначення шляхів їх вирішення з метою забезпечення подальшого розвитку галузі...
83238. Каталог научно-технической библиотеки 267.5 KB
  Цель курсовой работы – закрепление и углубление знаний, полученных студентами в курсах «Информационное обеспечение систем управления», «Информатика», развитие профессиональных навыков в постановке и решении задач проектирования баз данных, работе с технической литературой, оформлении технической документации.
83239. Государственное регулирование развития АПК Республики Беларусь 59.21 KB
  Цель работы рассмотреть и изучить формы государственного регулирования агропромышленного комплекса Республики Беларусь. Для достижения поставленной цели необходимо в процессе выполнения курсовой работы решить следующие задачи: Рассмотреть необходимость государственного вмешательства в экономику страны...
83240. Разработка производственной программы предприятия 46.29 KB
  Успешная деятельность предприятия должна обеспечиваться производством продукции и услуг, которые: отвечают чётко определённым потребностям; удовлетворяют требованиям потребителя; соответствуют применяемым стандартам и техническим условиям; отвечают действующему законодательству и другим требованиям общества...
83241. ТЭО малого предприятия 105.91 KB
  Цель курсовой работы – получение навыков написания ТЭО деятельности малого производственного предприятия, исходя из заданных условий. Для достижения поставленной цели были поставлены следующие задачи: рассчитать потребности в основном и оборотном капитале для открытия малого предпринимательства...
83243. Применение системы Mathcad для исследования численных методов 624.4 KB
  Целью данной курсовой работы является изучение численных методов при помощи системы Mathcad. Изучение основных операций с программой, изучение различных способов программирования, наглядное изучение текстового и графического редактора, и самой системы в целом.