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;

       }

   }

}

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

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


 

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

14424. Изучение технологии производства тепло- и электроэнергии на ТЭЦ 413 KB
  Отчет по производственной практике Содержание Введение 1 Принципиальная технологическая упрощенная схема станции 2 Назначение основных элементов технологической схемы: склад топлива и система топливоподачи система топливоприготовления котельный агрегат ...
14425. Семей қаласындағы ЖЭО-3 салу мен оны пайдаланудың бизнес жоспары 166.5 KB
  Семей қаласындағы ЖЭО3 салу мен оны пайдаланудың бизнес жоспары Есептеу үшін бастапқы берілгендер ретінде электр және жылу энергияларының жылдық өндіру көлемдері және 1 кВтсағ электр энергиясы мен 1 Гкал жылу энергиясын өндіруге жұмсалатын шартты отынның меншікті ...
14427. Креслення в системі прямокутних проекцій. Проеціювання на три площини 92.09 KB
  Тема уроку: Креслення в системі прямокутних проекцій. Проеціювання на три площини Мета уроку: ознайомити з правилами проеціювання на три площини проекцій та правилами побудови виглядів та інших даних для повного уявлення про предмет читати та креслити графічні зобра...
14428. Волокна тваринного походження, їх властивості, використання 32.92 KB
  Тема: Волокна тваринного походження їх властивості використання. Мета: Навчити розрізняти волокна тваринного походження від інших волокон за зовнішнім виглядом на дотик за зминальністю обривом ниток; визначати види ткацьких
14429. Моделювання спідниці. Розрахунок кількості тканини, необхідної для пошиття. Правила оформлення викрійки 120.11 KB
  Тема: Моделювання спідниці. Розрахунок кількості тканини необхідної для пошиття. Правила оформлення викрійки. Мета: Ознайомити учениць із основами моделювання з основними вимогами розкроювання правильним оформленням викрійки. Навчити моделювати основну в...
14430. Розкроювання спідниці 21.54 KB
  Тема: Розкроювання спідниці. Мета: Ознайомити учениць з послідовністю розкроювання спідниці припусками на шви і обробку зрізів. Навчити правильно організовувати робоче місце розкроювати спідницю. Виховувати любов до праці бережливе ставлення до інструменту.
14431. Техніка. Керування швейною машиною з електричним приводом 281.8 KB
  Тема уроку: Техніка. Керування швейною машиною з електричним приводом. Мета уроку: ознайомити з правилами керування швейною машиною з електричним приводом правилами безпечної праці. Основні поняття: електропривід модифікація пускорегулювальна педаль Очікуван...
14432. Несправності в роботі швейної машини. Використання лапки – запошивача та лапки для вшивання застібки - блискавка. Технологія виконання запошивного шва 321.89 KB
  Тема: Несправності в роботі швейної машини. Використання лапки запошивача та лапки для вшивання застібки блискавка. Технологія виконання запошивного шва. Мета: Навчити усувати несправності на швейній машині використовувати пристрої малої механізації на практи