Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/21: Рейтинг темы: голосов - 21, средняя оценка - 4.76
0 / 0 / 0
Регистрация: 29.01.2018
Сообщений: 19
1
.NET 4.x

Чтение заголовка bmp файла

29.01.2018, 20:57. Показов 4146. Ответов 2
Метки bmp (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая позволяет ввести имя bmp-файла, считать его
заголовки и вывести на консоль информацию о размере файла, ширине и
высоте в пикселях, количестве бит на пиксель, разрешении горизонтальном
и вертикальном (количестве пикселей на метр), типе сжатия (без сжатия / 4бит
RLE / 8бит RLE). Подготовьте несколько файлов изображений и проверьте на
них Вашу программу. Структуру bmp-файла найти в инернете.
Размер файла в байтах хранится в 4 байтах со смещением в 2. Я так понял, что нужно c помощью Seek сместиться в потоке на 2 байта и записать 4 байта, но то, что я получаю - 4 рандомных числа. При попытке перевести их в любую кодировку получаю, что-то на тип этого: пїЅпїЅ .
C#
1
2
3
4
5
FileStream file = new FileStream(file_path, FileMode.Open);
                file.Seek(2,SeekOrigin.Begin);
            byte[] arr = new byte[4];
                file.Read(arr, 0, 4);
            Console.WriteLine("Размер файла: {0}", Encoding.Default.GetString(arr));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2018, 20:57
Ответы с готовыми решениями:

Чтение RGB значений из bmp 24 бита
Всем доброго времени суток. Вот такая проблема у меня: Есть 24-битный bmp рисунок(т.е. на каждый...

Считывание всего текста XML файла(заголовка,тегов,атрибутов)
День добрый. Как считать весь текст XML файла (<?xml version="1.0"?>,теги,атрибуты)в string? А так...

Прочитать и вывести заголовок файла .bmp
Здравствуйте! Необходимо прочитать файл .bmp и вывести его заголовок в следующем формате: typedef...

Изображение bmp, операция над ним, снова в bmp
Задание состоит в следующем: 1. Перевести изображение в матрицу. 2. Удалить определенные...

2
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,342
Записей в блоге: 1
29.01.2018, 21:19 2
denisfarstov, размер файла это число, а не строка. Поэтому переводить нужно с помощью BitConverter.ToInt32
C#
1
Console.WriteLine("Размер файла: {0}", BitConverter.ToInt32(arr, 0));
Чтобы не засорять код буферами и кодом преобразования можно использовать класс BinaryReader
C#
1
2
3
4
5
using (var breader = new BinaryReader(File.OpenRead(file_path)))
{
    breader.BaseStream.Position += 2;
    Console.WriteLine("Размер файла: {0}", breader.ReadInt32());
}
1
0 / 0 / 0
Регистрация: 29.01.2018
Сообщений: 19
29.01.2018, 23:00  [ТС] 3
Спасибо большое за ответ! Все работает!
0
29.01.2018, 23:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.01.2018, 23:00
Помогаю со студенческими работами здесь

Создание монохромного bmp из одной из 24-х плоскостей 24-битного bmp
Здравствуйте. Стоит задача разбить 24-х битное bmp изображение на 24 плоскости с последующей...

Чтение списка из файла и дальнейшее использование информации из файла
основная using System; using System.Collections.Generic; using System.ComponentModel; using...

Чтение bmp файла в байт массив и обратно
Проблема состоит в том что я считываю в байт масив к примеру текстовый файл и потом востанавливаю...

Чтение заголовка BMP
Есть след код, который должен читать заголовок BMP Но он его читаеть криво (пропускает 2 байта)...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru