14756

Написать программу, реализующую просмотр графического файла (формат BMP)

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

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

Цель работы: Написать программу реализующую просмотр графического файла формат BMP. Программа должна: загружать и выводить на экран произвольный файл с использованием файловых функций; читать все файлы с цветовой палитрой до 256 цветов black/whitegrey16256; выводи

Русский

2013-06-09

255.5 KB

20 чел.

Цель работы:

Написать программу, реализующую просмотр графического файла (формат BMP). Программа должна:

  •  загружать и выводить на экран произвольный файл (с использованием файловых функций);
  •  читать все файлы с цветовой палитрой до 256 цветов (black/white,grey,16,256);
  •  выводить информацию из заголовков файла (тип, размер, разрешение, использование сжатия, к-во цветов, ...), а также цветовую палитру;

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

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 TSOS_LAB1_Final

{

   public partial class Form1 : Form

   {

       public String bfType;

       public Int32 bfSize;

       public Int16 bfReserved1;

       public Int16 bfreserved2;

       public Int32 bfOffBits;

       public Int32 bfSizeheader;

       public Int32 bfShirinaImage;

       public Int32 bfVisotaImage;

       public Int16 bfNumberPlosk;

       public Int16 bfBitPixel;

       public Int32 bfCompress;

       public Int32 bfSizeRastMass;

       public Int32 bfGorSize;

       public Int32 bfVertSize;

       public Int32 bfNumberColors;

       public Int32 bfMainColors;

       public Form1()

       {

           InitializeComponent();

       }

       private void button1_Click(object sender, EventArgs e)

       {

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

           openFileDialog1.ShowDialog();

           BinaryReader bReader = new BinaryReader(File.Open(openFileDialog1.FileName, FileMode.Open));

           bfType = new string(bReader.ReadChars(2));

           bfSize = bReader.ReadInt32();

           bfReserved1 = bReader.ReadInt16();

           bfreserved2 = bReader.ReadInt16();

           bfOffBits = bReader.ReadInt32();

           bfSizeheader = bReader.ReadInt32();

           bfShirinaImage = bReader.ReadInt32();

           bfVisotaImage = bReader.ReadInt32();

           bfNumberPlosk = bReader.ReadInt16();

           bfBitPixel = bReader.ReadInt16();

           bfCompress = bReader.ReadInt32();

           bfSizeRastMass = bReader.ReadInt32();

           bfGorSize = bReader.ReadInt32();

           bfVertSize = bReader.ReadInt32();

           bfNumberColors = bReader.ReadInt32();

           bfMainColors = bReader.ReadInt32();

           

           bReader.Close();

           String CompressType=0.ToString();

           if (bfCompress == 0 || bfCompress == 3 || bfCompress == 6)

               CompressType = "Без сжатия";

           else if (bfCompress == 1 || bfCompress == 2)

               CompressType = "RLE";

           else if (bfCompress == 4)

               CompressType = "JPEG";

           else if (bfCompress == 5)

               CompressType = "PNG";

           Bitmap original_image = new Bitmap(openFileDialog1.FileName);

           pictureBox1.Image = original_image;

           pictureBox1.Show();

           String message = "Сигнатура файла: " + bfType + "\n Размер файла: " + bfSize.ToString() +

                            "\n Местонахождение данных растрового массива: " + bfOffBits.ToString() +

                            "\n Длина заголовка растрового массива: " + bfSizeheader.ToString() +

                            "\n Ширина изобрадения: " + bfShirinaImage.ToString() + "\n Высота изображения: " +

                            bfVisotaImage.ToString() + "\n Число цевтовых плоскостей: " + bfNumberPlosk +

                            "\n Бит/пиксел: " + bfBitPixel + "\n Метод сжатия: " + CompressType +

                            "\n Длина растрового массива: " + bfSizeRastMass + "\n Горизонтальное разрешение: " +

                            bfGorSize + "\n Вертикальное разрешение: " + bfVertSize +

                            "\n Количество цветов изображения: " + bfNumberColors + "\n Количество основных цветов: " +

                            bfMainColors;

           

           MessageBox.Show(message);

       }

   }

}

Результат работы:

Вывод: в ходе работы освоили приемы обработки графических изображений в формате BMP.


 

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

49718. Визначення домінуючого типу психологічного впливу в соціальній рекламі проти ВІЛ/СНІДу для шкільної молоді 417 KB
  Психологічні особливості сприймання соціальної реклами проти ВІЛ СНІДу студентською молоддю. Методичне забезпечення18 Стимульний матеріал відеоролики соціальної реклами проти СНІДу. Сучасний світ неможливо уявити без реклами яка на сьогодні пронизує всі сфери життя людини. Отже інформація як ніколи стала інструментом влади а реклама не просто елементом бізнесу маркетингу та лобіювання інтересів певного товаровиробника замовника реклами а і своєрідним культурним простором.
49722. РАССЧЁТ ОСНОВНЫХ ХАРАКТЕРИСТИК ЦИФРОВОЙ СИСТЕМЫ ПЕРЕДАЧИ НЕПРЕРЫВНЫХ СООБЩЕНИЙ 670 KB
  Проведен анализ сложного входного сигнала и проанализировано его прохождение через схемы разработанных радиотехнических устройств. СПИСОК СОКРАЩЕНИЙ АМ амплитудная модуляция ИКМ импульснокодовая модуляция ОФМ относительная фазовая модуляция СПМ спектральная плотность мощности ТЭС теория электрической связи ФМ фазовая модуляция ФНЧ фильтр нижних частот ЦСП цифровая система передачи ОСНОВНЫЕ ОБОЗНАЧЕНИЯ аt передаваемое непрерывное сообщение bt непрерывный сигнал соответствующий передаваемому сообщению bикмt...
49723. Розробка технології термічної обробки шпильки 161.88 KB
  У проекті був проведений вибір матеріалу для виготовлення деталі відповідного призначення типу шпилька та вибраний режим її термічної обробки. Було запропоновано прогресивні методи термічної обробки, гартування та відпуск. Був проведений вибір основного та допоміжного обладнання.
49724. Совершенствование обязательно документированных процедур 1004.28 KB
  АНАЛИЗ ПРОЦЕДУРЫ ПРОВЕДЕНИЯ АУДИТА. КРАТКОЕ РАЗЪЯСНЕНИЕ ЭТАПОВ АУДИТА. Аудит систематический независимый и документированный процесс получения свидетельств аудита и объективного их оценивания с целью установления степени выполнения согласованных критериев аудита Аудитор лицо обладающее компетентностью для проведения аудита
49725. Оценка кредитоспособности физического лица 346 KB
  Целью данной курсовой работы является оценка кредитоспособности клиента от различных параметров. Основными задачами настоящей курсовой работы являются: Изучение факторов, влияющих кредитоспособность; Изучение принципов работы нейросети с использованием программы «Нейросимулятор»;