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;

       }

   }

}

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

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


 

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

70329. УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ «ФИЗИЧЕСКАЯ КУЛЬТУРА» 1.61 MB
  Целью физического воспитания студентов является формирование физической культуры личности и способности направленного использования разнообразных средств физической культуры, спорта и туризма для сохранения и укрепления здоровья, психофизической подготовки и самоподготовки...
70330. ИСТОРИЧЕСКИЕ ОБРАЗЫ ФИЛОСОФСКОЙ МЫСЛИ 738.5 KB
  Философия как новый тип мировоззрения, сменивший мифологическое мировосприятие, возникает в 6 в. до н.э. одновременно в трех относительно изолированных друг от друга регионах тогдашнего древнего мира: на Востоке – в Древнем Китае и Древней Индии и на Западе – в Античной Греции.
70331. Программирование на алгоритмическом языке Паскаль 644.5 KB
  Переменные снабжаются именами, которые могут содержать латинские буквы, цифры и знаки подчеркивания, но начинаться имя должно с буквы. Программист выбирает имена произвольно, но таким образом, чтобы они указывали на смысл переменной.
70332. Средневековая философия 1014.5 KB
  Ариане не принимали основной догмат официальной христианской церкви, согласно которому бог-сын единосущен богу-отцу. По учению Ария, сын божий Логос (Христос) — творение бога, следовательно, не единосущен ему, т. е. в сравнении с богом-отцом является существом низшего порядка.
70333. Словарь терминов по средневековым школам и университетам 95 KB
  Диспут (лат. disputatio) – в схоластической системе образования средневековой Европы формальный способ ведения спора, проводимого с целью установления богословской или научной истины. Данный процесс подчинялся формальным правилам, основными из которых были ссылки устоявшиеся...
70334. Терминология средневековой литературы 22.65 KB
  Канцона буквально песня лирическая форма средневековой поэзии возникшая первоначально в феодально-рыцарской лирике Прованса откуда она была усвоена французскими и итальянскими подражателями.
70335. СЛОВАРЬ ТЕРМИНОВ И ПОНЯТИЙ ПО ИСТОРИИ СРЕДНЕВЕКОВОГО ИЗОБРАЗИТЕЛЬНОГО ИСКУССТВА 2.61 MB
  Йоркский собор (англ. York Minster) — готический собор в английском городе Йорке, который оспаривает у Кёльнского собора звание самого большого средневекового храма на севере Европы. Строительство началось в 1220 году и продолжалось 250 лет. Собор славится самыми большими витражными окнами средневековой Европы.