14756

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

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

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

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

Русский

2013-06-09

255.5 KB

10 чел.

Цель работы:

Написать программу, реализующую просмотр графического файла (формат 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.


 

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

64387. Обґрунтування раціональних параметрів і конструкцій шпурових зарядів для зниження розміцнення гірських порід при спрямованому розколі 6.3 MB
  Для цього розроблено спеціальні конструкції зарядів що дозволяють одержати спрямований розкол блока з мінімальним розміцненням породи поблизу бічних поверхонь установити не тільки зниження її міцності але й її зміну із часом після вибухового впливу залежно...
64388. ЗАБЕЗПЕЧЕННЯ ПРАВ ЮРИДИЧНОЇ ОСОБИ В АДМІНІСТРАТИВНИХ ПРОВАДЖЕННЯХ 142.5 KB
  Забезпечення прав юридичної особи в адміністративних провадженнях є однією з найгостріших проблем сучасної української правової науки та практики. Саме права і свободи особи та їхні гарантії визначають зміст і спрямованість державної діяльності...
64389. ПІДГОТОВКА ВИКЛАДАЧІВ АГРАРНИХ ДИСЦИПЛІН У ВИЩИХ НАВЧАЛЬНИХ ЗАКЛАДАХ КРАЇН ПОЧАТКОВОГО ЕТАПУ ЗАХІДНОЄВРОПЕЙСЬКОЇ ІНТЕГРАЦІЇ І ВЕЛИКОБРИТАНІЇ 348 KB
  На кожному етапі він наповнюється новим змістом, новими організаційно-педагогічними формами і методами, новими потребами та відповідними підходами до інтегрування індивідуальних, професійних, соціальних аспектів життєдіяльності.
64390. ІНФОРМАЦІЙНА ТЕХНОЛОГІЯ ДЛЯ МОДЕЛЮВАННЯ ТА РОЗПІЗНАВАННЯ МІМІЧНИХ ПРОЯВІВ ЕМОЦІЙ НА ОБЛИЧЧІ ЛЮДИНИ 26.74 MB
  Методи і алгоритми аналізу й синтезу емоційного стану обличчя людини є складовою частиною систем і засобів штучного інтелекту спрямованих на дослідження створення та впровадження алгоритмічних та програмноапаратних систем і комплексів...
64391. Екологічна оцінка якості води поверхневих джерел для удосконалення технології водопідготовки 215 KB
  Аграрний сектор економіки України належить до найводоємніших галузей народного господарства – щороку використовує близько 35 % води від загального об’єму споживання.
64392. ФІЗИКО-ХІМІЧНІ ТА АГРОХІМІЧНІ ВЛАСТИВОСТІ ЧОРНОЗЕМУ ТИПОВОГО ПРАВОБЕРЕЖНОГО ЛІСОСТЕПУ ЗА МІНІМІЗАЦІЇ ОБРОБІТКУ ҐРУНТУ І БІОЛОГІЗАЦІЇ ЗЕМЛЕРОБСТВА 363 KB
  Інтенсивне використання ґрунтового покриву особливо чорноземів супроводжується зниженням запасів гумусу погіршенням воднофізичних фізикохімічних і біологічних властивостей ґрунту що негативно позначається на продуктивності сільськогосподарських культур.
64393. ДИФРАКЦІЯ ВИПРОМІНЮВАННЯ ЕЛЕКТРИЧНОГО ДИПОЛЯ НА ЕКРАНАХ СКЛАДНОЇ ФОРМИ 564.5 KB
  Для забезпечення спрямованого випромінювання в метровому дециметровому й сантиметровому діапазонах електромагнітних хвиль ЕМХ застосовують ВС у вигляді дротової антени з металевими плоскими прямокутними й кутковими екранами різної конфігурації розміри...
64394. РОЗТАШУВАННЯ ЗУПИНОЧНИХ ПУНКТІВ МІСЬКОГО ПАСАЖИРСЬКОГО ТРАНСПОРТУ 335.5 KB
  У транспортному обслуговуванні населення найкрупніших міст домінуюче положення займає (і буде займати на віддалену перспективу) міський пасажирський транспорт (МПТ). Функціонування сучасного міста неможливо уявити без розвиненої системи міського пасажирського транспорту...
64395. ВПЛИВ СИСТЕМ ОБРОБІТКУ Й УДОБРЕННЯ НА РОДЮЧІСТЬ ЧОРНОЗЕМУ ЗВИЧАЙНОГО ТА ПРОДУКТИВНІСТЬ СІВОЗМІНИ В ПІВНІЧНОМУ СТЕПУ 320.5 KB
  Одним з таких напрямів є вдосконалення технологічних процесів зокрема шляхом опрацювання енергозберігаючих грунтозахисних систем обробітку ґрунту ощадливого залучення в біологічний кругообіг біогенних елементів промислового походження...