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;

       }

   }

}

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

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


 

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

50075. ОПРЕДЕЛЕНИЕ КОНЦЕНТРАЦИИ САХАРНОГО РАСТВОРА САХАРИМЕТРОМ 126.5 KB
  К оптически активным веществам относятся некоторые кристаллы и растворы например кварц и раствор сахара в дистиллированной воде. Целью лабораторной работы является определение величины удельного вращения ρ для раствора сахара для чего используется эталонный раствор а также определение концентрации сахара в некотором исследуемом растворе. Описание установки Концентрация раствора сахара определяется прибором который называется сахариметром. Его основными частями являются поляризатор и анализатор между которыми помещается трубка с...
50076. ИЗУЧЕНИЕ УСТРОЙСТВА И РАСЧЕТ ПЕРВИЧНЫХ СРЕДСТВ ПОЖАРОТУШЕНИЯ 376 KB
  В качестве первичных средств пожаротушения применяют воду песок асбестовое или войлочное полотно огнетушители. Огнетушители надежное средство при тушении загораний до прибытия пожарных подразделений. Воздушно-пенные огнетушители В качестве веществ для получения воздушно-механической пены широко используют различные пенообразователи поверхностно-активные вещества и смачиватели.
50077. ДИСПЕРСИЯ ПРИЗМЫ 304 KB
  Дисперсией света называются явления обусловленные зависимостью показателя преломления от частоты или длины волны излучения: 1 Один из важнейших выводов электромагнитной теории света Максвелла состоит в том что показатель преломления электромагнитных волн равен в системе СГСэ: 2 Здесь ε и μ диэлектрическая и магнитная проницаемости среды постоянные которые в первоначальной теории полагались не зависящими от частоты падающего света. Для того чтобы получить соотношение связывающее показатель преломления с длиной волны необходимо...
50078. Техніка ведення мяча 22.5 KB
  Техніка ведення мяча. Ведення мяча здійснюється за допомогою переміщень у процесі яких застосовується біг іноді ходьба. Ведення зовнішньою частиною підйому виконується несильними ударами в нижню частину мяча з метою надати йому зворотного руху щоб він сильно не віддалявся від гравця. При веденні внутрішньою частиною підйому футболіст спрямовує мяч перед собою носок ноги перед доторком до мяча трохи відводиться назовні.
50080. Циклические программы 47.5 KB
  Операторов цикла в Паскале три: for repet while. Оператор For Оператор состоит из заголовка в котором определяется порядок изменения переменной параметра цикла и тела цикла являющегося многократно повторяющимся алгоритмом. Общий вид оператора: For параметр цикла : = начальное значение to конечное значение do оператор; {тело цикла}. Этот оператор применяется если начальное значение конечного значения; For параметр цикла:= начальное значение downto конечное значение do оператор; применяется если начальное значение конечного значения.
50081. ПРОЧНОСТНЫЕ ХАРАКТЕРИСТИКИ МАТЕРИАЛОВ В РАСЧЕТАХ ПО МЕТОДУ ПРЕДЕЛЬНЫХ СОСТОЯНИЙ 51.5 KB
  Соответствующими стандартами установлены также другие нормативные характеристики материалов объемная масса модули упругости и сдвига коэффициенты трения сцепления характеристики ползучести усадки температурного расширения усушки набухания и другие. Возможные отклонения нормативных характеристик конструкционных материалов и грунтов в неблагоприятную сторону учитываются коэффициентами надежности по материалу и грунту . Эти коэффициенты учитывают ряд факторов не проявляющихся при стандартных испытаниях но встречающихся в практике...
50082. Визначення показника заломлення скляної плоскопаралельної пластинки інтерференційним методом 674 KB
  На оптичній лаві послідовно розташовані джерело світла лазер 1 типу ЛГ56 екран 2 в центрі якого розміщено мікрообєктив та плоскопаралельна скляна пластинка 3 товщиною d. Відбиваючись від її передньої та задньої граней промені світла накладаються і утворюють на екрані інтерференційну картину у вигляді концентричних кілець  так звані смуги однакового нахилу. В чому полягає суть методу визначення показника заломлення скляної пластинки в даній роботі Що називається явищем інтерференції світла Які хвилі називаються когерентними...
50083. Стройові вправи. Правила піднімання вантажу 61 KB
  Основи термiнологiï: положення лежачи рiвновага. Положення лежачи. Лежачи на спинi Положення при якому торкаються пiдлоги всi частини задньоï поверхнi тiла положення рук визначається вiдносно тулуба Лежачи на животi Положення при якому торкаються пiдлоги всi частини передньоï поверхнi тiла пiдборiддя теж торкається пiдлоги Лежачи на животi прогнувшись Положенняпри якому торкаються пiдлоги нижня частина грудноï клiтини живiт i таз; верхня частина тулуба i ноги знаходяться над...