Форум программистов, компьютерный форум CyberForum.ru

Вывод информации о *.bmp на чистом C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ шаблоны http://www.cyberforum.ru/cpp-beginners/thread337716.html
возник вопрос, а как можно сделать так, чтобы различные экземпляры шаблона класса вели себя по разному в зависимости от того, что было передано в аргументах - класс или некласс. Приведу пример template<typename T> class Class { private: template<typename C> bool func(C const& x, C const& y, int C::*) { return true; }
C++ [BMP] HEX (из HEX-редактора) в DEC Имеется файл *.bmp (который нельзя вложить в сообщение). В самом файле есть его свойства (размер и т.д.). Как их перевести из HEX в DEC? Размер - ce 6b 0e 00 (байт) - 922 КБ (945,102 байт) X x Y - c2 01 00 00 x bb 02 00 00 (пикселей) - 450 x 699 пикселей В HEX значения взяты из самого файла, а в DEC - из "ПКМ - Свойства". Только вот я не могу понять как переводить, ведь 0xce6b0e00 = 3 463... http://www.cyberforum.ru/cpp-beginners/thread337689.html
Создание SAVE файла. Запись и чтение. C++
Доброго времени суток! Хочу обратиться за мудрым советом к профессионалам. Мне необходимо реализовать в своем приложении создание SAVE файла. Запись и чтение из него. У меня есть массив объектов. Скорее всего, количество объектов не будет больше ста. У каждого объекта есть шесть параметров - числа типа double, один параметр, который может принимать одно из четырех целочисленных значений (1, 3,...
мужики , какая функция отвечает за "глюк" раб.стола? C++
скинул себе программу "прикол", а там есть такая менюшка глюк экрана, поле установки которой текст становится неразборчив. ну вот как программно отключить это посредством си / с++(лучше в си)?
C++ Кодировка вывода в консоль http://www.cyberforum.ru/cpp-beginners/thread337613.html
Здравствуйте, у меня Windows Xp sp 3, не подскажите кодировку вывода на консоль русского текста, текст выводит системное приложение rasdial.exe, которое используется для подключение интернета
C++ Пересечение отрезков. Решал задачу на acmp про пересечение отрезков, завалился на 20 тесте. Долго просидел, решил прочитать комментарии. Объясните мне, если задать два одинаковых отрезка, разве они будут пересекаться? Как я понимаю, они должны иметь ровно 1 общую точку, и не более. Я спрашиваю к тому, что на acmp варианты с более чем 1 общей точке приравниваются к yes, как я понял из комментариев. подробнее

Показать сообщение отдельно
Sahon
10 / 10 / 1
Регистрация: 09.04.2010
Сообщений: 141
31.07.2011, 21:32  [ТС]     Вывод информации о *.bmp на чистом C++
Цитата Сообщение от OstapBender Посмотреть сообщение
вот тебе исправленный вариант. переделывал тупо из-за того что интересно было как оно работает.
ну впрочем оно не работает, как я и думал ...
спасибо, но я уже и сам понял, что оно не работает. Сейчас сижу переделываю понемногу.

Добавлено через 5 часов 1 минуту
OstapBender,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#include <iostream> 
#include <fstream> 
#include <cmath> 
using namespace std; 
 
int main(int argc, char *argv[]) 
{ 
  char ch; 
  
    unsigned char bitmap [54];
  
  //BITMAP NORMAL INFO
    int  Size    = 0,            /* Размер файла      */
         ImageSize = 0, 
         BpP     = 0,            /* Bits per Pixel    */
         Height  = 0,
         Width   = 0;
        
  if(argc!=2) { //Если боле двух аргументов коммандной строки
    cout << "Используй: PR <имя-файла>, будь мужиком!\n"; 
    return 1; 
  } 
 
  ifstream in(argv[1], ios::in | ios::binary); 
  if(!in) { 
    cout << "Невозможно открыть файл.\n"; 
    return 1; 
  } 
  
  for (int i = 0, ; i <= 53; i++)
  { 
    in.get(ch);
    bitmap[i] = ch;
  }
 
  
  for (int i = 5; i > 1; i--)
  {
   int n = bitmap[i];
   Size += n * pow (16.0, (i-2)*2);
  }
 
  
  for (int i = 37; i > 33; i--)
  {
   int n = bitmap[i];
   ImageSize += n * pow (16.0, (i-34)*2);
  }
  
  for (int i = 21; i > 17; i--) //Ширина
  {
   int n = bitmap[i];
   Width += n * pow (16.0, (i-18)*2);
  }
  
for (int i = 25; i > 21; i--) //Высота
  {
   int n = bitmap[i];
   Height += n * pow (16.0, (i-22)*2);
  }
  
const int cHeight = Height,
          cWidth = Width;
              
    
cout << "Данные " << argv[1] << ":\n"
         << "\t\tРазмер файла: " << Size << " байтов,\n"
         << "\t\tШирина изображения: " << Width << " пикселей,\n"
         << "\t\tВысота изображения: " << Height << " пикселей,\n" << endl;
    
  in.close(); 
  
  system ("pause");
  return 0; 
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru