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;

       }

   }

}

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

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


 

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

16452. Римское частное право. Учебное пособие 2.34 MB
  РИМСКОЕ ЧАСТНОЕ ПРАВО Учебник Под редакцией профессора И.Б. Новицкого и профессора И.С. Перетерского ВВЕДЕНИЕ 1. Понятие и основные черты римского частного права 1. Историческое значение римского права. Настоящий учебник посвящен римскому частному пр
16453. АДМІНІСТРАТИВНЕ ПРАВО УКРАЇНИ 2.46 MB
  АДМІНІСТРАТИВНЕ ПРАВО УКРАЇНИ Академічний курс. Том 1 У першому в Україні академічному курсі з адміністративного права системно викладено фундаментальні основи української науки адміністративного права. Підручник грунтується на ключових ідеях проекту Концепції р...
16454. ЛОГІКА ЯК НАУКА: ІСТОРІЯ І СУЧАСНІСТЬ 198.5 KB
  Тема 1. ЛОГІКА ЯК НАУКА: ІСТОРІЯ І СУЧАСНІСТЬ. 4 год. 1. Виникнення і генезис поняття логіки. 2. Логіка як наука: її предмет метод а також практичне значення її знань. 3. Історичні етапи розвитку логічного знання: логіка Давньої Індії логіка Давньої Греції. 4. Особлив
16455. МИСЛЕННЯ І МОВА 152 KB
  Тема 2: МИСЛЕННЯ І МОВА 1. Мислення міркування: визначення і осбливості. 2. Діяльність і мислення. 3. Структура мислення. 4. Правильні та неправильні міркування. Поняття про логічну помилку. 5. Логічна форма міркування. 6. Види і типи мислення. 7. Особливості мислення ю...
16456. Семіотика як наука про знаки. Мова як знакова система 127.5 KB
  Тема 3: Семіотика як наука про знаки. Мова як знакова система. 1. Семіотика як наука про знаки 2. Поняття про знак. Види позамовних знаків 3. Мовні знаки. Мова як знакова система. 4. Структура знакового процесу. Структура значення знака. Типові логічні помилки. 5. Виміри...
16457. МЕТОДОЛОГІЧНА ФУНКЦІЯ ФОРМАЛЬНОЇ ЛОГІКИ 95.5 KB
  Розділ III. МЕТОДОЛОГІЧНА ФУНКЦІЯ ФОРМАЛЬНОЇ ЛОГІКИ 1. Метод і методологія. 2. Логічні методи дослідження пізнання. 3. Метод формалізації 1. Метод і методологія. У практичній і теоретичній діяльності кожна людина використовує певні методи за допомогою яких в...
16458. ОСНОВНІ ФОРМИ І ЗАКОНИ АБСТРАКТНО-ЛОГІЧНОГО МИСЛЕННЯ 186 KB
  ОСНОВНІ ФОРМИ І ЗАКОНИ АБСТРАКТНОЛОГІЧНОГО МИСЛЕННЯ І. Поняття 1. Загальна характеристика поняття як форми мислення. 2. Види понять. Логічна характеристика понять. 3. Типи відношень між поняттями. 4. Операції з поняттями: 4.1. Обмеження й узагальнення понять; 4.2....
16460. ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ МЕЖДУНАРОДНОГО ПУБЛИЧНОГО ПРАВА 130 KB
  14 Лекция N 1. ОСНОВНЫЕ ПОНЯТИЯ СИСТЕМЫ МЕЖДУНАРОДНОГО ПУБЛИЧНОГО ПРАВА 1. Понятие сущность и функции международного права. 2. Источники и процесс международного правотворчества. 3. Основные международноправовые принципы и другие ...