Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Выдается ошибка, что я не инициализировал переменную r1, хотя это не так https://www.cyberforum.ru/ cpp-beginners/ thread2585543.html
include<iostream> #include<string> #include<fstream> #include<ctime> #include"Header.h" using namespace std; template<typename T> bool decimal(T a) { return (abs(a - (int)a) > 0.5); }
как найти (2n)! C++
#include <iostream> #include <cmath> using namespace std; int main() { int n = 1; float an = 0.0, an1, fact = 1.0, fact1 = 1.0; const float e = 0.0001;
C++ Ввести строку, в которой слова разделены одним пробелом. Вывести на экран слова, состоящих из пяти букв https://www.cyberforum.ru/ cpp-beginners/ thread2585521.html
Ввести строку, в которой слова разделены одним пробелом. Вывести на экран слова, состоящих из пяти букв.:)
C++ Си. Структура в алфавитном порядке https://www.cyberforum.ru/ cpp-beginners/ thread2585517.html
1. Создать файл F1.dat, содержащий записи следующей структуры: • ФИО; • номер телефона; • день рождения (массив из трех чисел) 2. программа должна выполнять следующую обработку файла: переписывает файл F1.dat в файл F2.dat таким образом, чтобы записи расположились в алфавитном порядке. Неделю изучаю теорию. Какая-то фигня. с чего начать. и как превратить структуру в строку и наоборот.
C++ Как заполнить структуру ?
#include <iostream> #include <windows.h> using namespace std; struct gr { unsigned int chislo, month, god; };
C++ Отсортировать и вывести только нужное в функции есть такой код вообщем и я не совсем понимаю как дописать функцию которая по жанру будет отбирать и выводить список книг определённого жанра, сама функция void MyBook::searchgenres() она выводит нужную книгу но только одну а остальные игнорит а нужно чтобы выводила не одну а все книги этого жанра собственно вот #include <iostream> #include<string> #include <Windows.h> using namespace... https://www.cyberforum.ru/ cpp-beginners/ thread2585510.html
C++ Ошибка при работе с list в с++, передача листа из функции https://www.cyberforum.ru/ cpp-beginners/ thread2585505.html
Доброго времени суток! Есть подобная строчка pathList = BFS(i); при ее выполнении срабатывает ошибка в файле листа из stl void _Orphan_non_end() noexcept { // orphan iterators except end() #if _ITERATOR_DEBUG_LEVEL == 2 _Lockit _Lock(_LOCK_DEBUG);
C++ Циклические алгоритмы вычисления сумм
Вычислить значение полинома P(x) в произвольной точке x, если (условие на картинке) Выполнить вычисления для 100 слагаемых. Во внешнем цикле составить таблицу, выводящую на экран значение полинома для х Î .
C++ Не работает условие https://www.cyberforum.ru/ cpp-beginners/ thread2585473.html
#include <iostream> #include <cmath> using namespace std; int a; int main(){ int i; cin >> a;
C++ Двусвязный циклический список - C++ https://www.cyberforum.ru/ cpp-beginners/ thread2585437.html
Разработать программу, которая читает с клавиатуры последовательность целых чисел, ни одно из которых не повторяется, сохраняет их в двусвязный циклический список и выдает на экран следующие характеристики: - количество элементов; - среднее арифметическое сохранившихся элементов; - минимальный и максимальный элемент; - четвертый элемент последовательности; - элемент, идущий перед минимальным...
C++ Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратам
Написать функцию kvadr с переменным числом параметров, которая определяет количество чисел, являющихся точными квадратами (2, 4, 9, 16,…) типа int. Программа должна содержать функцию пользователя с переменным числом параметров и не менее трех обращений к ней с различным количеством параметров.
C++ Время жизни переменной и присваивание https://www.cyberforum.ru/ cpp-beginners/ thread2585423.html
Здравствуйте, int my_func() { int a=5; return a; }
0 / 0 / 0
Регистрация: 16.10.2019
Сообщений: 80
0

Сжатие bmp файлов на с++ - C++ - Ответ 14260963

17.02.2020, 18:04. Показов 2006. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно через манипуляции с палитрой привести исходный код к соотношению 8 к 1 пикселей. Как это сделать я не понимаю
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
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <windows.h>
#include <iostream>
#include <string>
 
using namespace std;
 
void main()
{
    string sFileName;
    BITMAPFILEHEADER bmpFileHeader;
    BITMAPINFOHEADER bmpInfoHeader;
    int Width, Height;
    RGBQUAD Palette[256];
    RGBTRIPLE *inBuf;
    BYTE *outBuf;
    HANDLE hInputFile, hOutFile;
    DWORD RW;
 
    cout << "Enter the full name, please: ";
    cin >> sFileName;
 
    hInputFile = CreateFile(sFileName.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
    if (hInputFile == INVALID_HANDLE_VALUE)
    {
        cout << "incorrect filename " << endl;
        return;
    }
        
    hOutFile = CreateFile("Result.bmp", GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL);
    if (hOutFile == INVALID_HANDLE_VALUE)
    {
        CloseHandle(hInputFile);
        cout << "Result.bmp already exists" << endl;
        return;
    }
 
    // Считываем инфу
    ReadFile(hInputFile, &bmpFileHeader, sizeof(bmpFileHeader), &RW, NULL);
    ReadFile(hInputFile, &bmpInfoHeader, sizeof(bmpInfoHeader), &RW, NULL);
 
    // Установим указатель на начало растра
    SetFilePointer(hInputFile, bmpFileHeader.bfOffBits, NULL, FILE_BEGIN);
    Width = bmpInfoHeader.biWidth;
    Height = bmpInfoHeader.biHeight;
 
    // Выделим память
    inBuf = new RGBTRIPLE[Width];
    outBuf = new BYTE[Width];
 
    // Заполним заголовки
    bmpFileHeader.bfOffBits = sizeof(bmpFileHeader) + sizeof(bmpInfoHeader) + 1024;
    bmpInfoHeader.biBitCount = 8;
    bmpFileHeader.bfSize = bmpFileHeader.bfOffBits + Width * Height + Height * (3 * Width % 4);
 
    // Запишем заголовки
    WriteFile(hOutFile, &bmpFileHeader, sizeof(bmpFileHeader), &RW, NULL);
    WriteFile(hOutFile, &bmpInfoHeader, sizeof(bmpInfoHeader), &RW, NULL);
    // Палитра черно-белая
    for (int i = 0; i < 256; i++)
    {
        Palette[i].rgbBlue = i;
        Palette[i].rgbGreen = i;
        Palette[i].rgbRed = i;
    }
    WriteFile(hOutFile, Palette, 256 * sizeof(RGBQUAD), &RW, NULL);
 
    // Начнем преобразовывать
    for (int i = 0; i < Height; i++)
    {
        ReadFile(hInputFile, inBuf, sizeof(RGBTRIPLE) * Width, &RW, NULL);
        for (int j = 0; j < Width; j++)
            outBuf[j] = 0.3*inBuf[j].rgbtRed + 0.59*inBuf[j].rgbtGreen + 0.11*inBuf[j].rgbtBlue;
 
        WriteFile(hOutFile, outBuf, sizeof(BYTE) * Width, &RW, NULL);
 
        // Пишем мусор для выравнивания
        //WriteFile(hOutFile, Palette, (3 * Width) % 4, &RW, NULL);
        //SetFilePointer(hInputFile, Width % 4, NULL, FILE_CURRENT);
    }
 
    delete[] inBuf;
    delete[] outBuf;
    CloseHandle(hInputFile);
    CloseHandle(hOutFile);
 
    cout << "Updating has come to the end successfully!";
    system("pause");
}


Вернуться к обсуждению:
Сжатие bmp файлов на с++ C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.02.2020, 18:04
Готовые ответы и решения:

Сжатие bmp файла методом Шеннона-Фано
Помогите переделать код под .bmp файл

Сжатие и расжатие изображения .bmp благодаря алгоритмам JPEG/JPEG2000
Доброго времени суток! У меня по сути есть программа в которой открывается изображение формата BMP...

Запись чёрно-белого изображения bmp в двумерный массив и его сжатие/разжатие по Хаффману
Помогите, у меня задание: есть картинка (чёрно-белое изображение бмп) её необходимо записать в...

Сжатие файлов
Здравствуйте) Скажите пожалуйста, как можно сжать zip (rar) архивы и папки? То есть памяти на...

3
17.02.2020, 18:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2020, 18:04
Помогаю со студенческими работами здесь

Сжатие файлов
Обьясните нубу почему при сжатии gzip размер файла у меня наоборот увеличивается??? Например при...

Сжатие файлов
Здравствуйте, подскажите как можно сжать файлы в Windows 7 ? (avi, mkv) И так, чтобы их можно было...

Сжатие старых файлов
ВСЕМ ЗДРАСТЕ В очистке диска есть пункт &quot;старые файлы&quot;, занимает места прилично (HDD не большой,...

Сжатие набора файлов
Здравствуйте. Есть некая структура папок с файлами, в коде имеется список FileInfo файлов, которые...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru