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.


 

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

21899. Аварии на гидротехнических сооружениях 540 KB
  Масштабы последствий гидродинамических аварий зависят от параметров и технического состояния гидроузла характера и степени разрушения плотины объемов запасов воды в водохранилище характеристик волны прорыва и катастрофического наводнения рельефа местности сезона и времени суток происшествия и многих других факторов. 160 227 СаяноШушенская 47 120 Красноярская 68 986 Основными поражающими факторами затопления при аварии на ГТС являются: волна прорыва высота волны скорость движения и длительность затопления. Начало волны называется...
21900. Современные техногенные опасности мирного и военного времени 324.5 KB
  Определение степени и масштабов разрушений при производственных авариях и авариях на транспорте связанных с взрывами взрывчатых веществ. Именно в ХХ столетии происходило: интенсивное развитие малоотходной ядерной энергетики; бурное развитие химической промышленности; стремительное освоение космического пространства; появление новых видов современного оружия: ОМП ядерное термоядерное нейтронное химическое биологическое геофизическое оружие; современные средства поражения ССП зажигательные кассетные боеприпасы боеприпасы объемного...
21901. ЖИЗНЕОБЕСПЕЧЕНИЕ НАСЕЛЕНИЯ В ЧРЕЗВЫЧАЙНЫХ СИТУАЦИЯХ 40 KB
  ЖОН в ЧС совокупность согласованных и взаимосвязанных по цели задачам месту и времени действий территориальных и ведомственных органов управления сил средств и соответствующих служб направленных на создание условий необходимых для сохранения жизни и поддержания здоровья людей в зоне ЧС на маршрутах эвакуации и в местах отселения пострадавшего населения. Первоочередные виды ЖОН в ЧС жизненно важные материальные средства и услуги сгруппированные по функциональному предназначению и сходным свойствам используемые...
21902. ХАРАКТЕРИСТИКА ЧС ПРИРОДНОГО ХАРАКТЕРА 676.5 KB
  Землетрясения Землетрясения это подземные толчки и колебания земной поверхности возникающие в основном в результате внезапных смещений и разрывов в земной коре или верхней мантии и передающиеся на большие расстояния. Колебания земной поверхности при землетрясениях носят волновой характер. Сейсмическая опасность при землетрясениях определяется не только колебаниями грунта но и возможными вторичными факторами к которым следует отнести лавины оползни обвалы опускание просадку и перекосы земной поверхности разрушение грунта...
21903. Номенклатура и разграфка топографических карт 164.5 KB
  Общегеографические карты делятся на три вида: обзорные масштаб 1:I 000000 и мельче; обзорнотопографические масштаб 1:100000 1:1000000; топографические масштаб 1:100000 и крупнее. Обзорнотопографические карты составляются по картам более крупных масштабов. Топографические карты составляются по результатам съемок территорий и отличаются детальностью изображения местности. Это многолистные карты т.
21904. Атрибутивное описание. Векторная модель. Топологическая модель 121 KB
  Атрибутивное описание Одних координатных данных недостаточно для описания картографической или сложной графической информации. Атрибуты соответствующие тематической форме данных и определяющие различные признаки объектов также хранятся в таблицах. Применение атрибутов позволяет осуществлять анализ объектов базы данных с использованием стандартных форм запросов и разного рода фильтров а также выражений математической логики. Кроме того с помощью атрибутов можно типизировать данные и упорядочивать описание для широкого набора некоординатных...
21905. Растровая модель. Оверлейные структуры. Трехмерные модели 158 KB
  Трехмерные модели. При этом каждой ячейке растровой модели соответствует одинаковый по размерам но разный по характеристикам цвет плотность участок поверхности объекта. В ячейке модели содержится одно значение усредняющее характеристику участка поверхности объекта. В растровых моделях в качестве атомарной модели используют двухмерный элемент пространства пиксель ячейка.
21906. Введение в дистанционное зондирование. Восстановление (коррекция) видеоинформации. Предварительная обработка изображений. Классификация. Преобразование изображений 145.5 KB
  К настоящему времени накоплен огромный фонд более 100 миллионов аэрокосмических снимков полностью покрывающих всю поверхность Земли а для значительной части районов с многократным перекрытием. Геометрическая коррекция или трансформирование снимков предназначено для устранения искажений вызванных кривизной и вращением Земли а также углом наклона орбиты спутника к плоскости экватора. Часто для представления и совместной обработки материалов разных видов типов съемок а также разновременных снимков одной и той же территории используется...
21907. Отраслевые геоинформационные проекты 139.5 KB
  Создание карт распределения геологической продукции и информации: а по административным районам; б по геологическим структурам. Создание двумерных и трехмерных моделей подсчета запасов полезных ископаемых и карт в изолиниях. Персональные компьютеры в руках геолога представляют собой надежный инструмент который дает большие возможности как по созданию геологических отчетов геологических карт научных разработок так и по решению различных модельных задач по теории рудообразования геотектонике стратиграфии металлогении и т.