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

Открытие и запись bmp-файла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как подсчитать Длину строки в двойном массиве char http://www.cyberforum.ru/cpp-beginners/thread245401.html
Как подсчитать Длину строки в двойном массиве char char c; int a; for(int j=0;j<10;j++) for(int i=0;i<10;i++) cin >> c;//Здесь я в вожу содержание //а здесь нужно в a засунуть длину строки c;
C++ работа с файлами Подскажите, как в текстовом файле напечатать все строки, длина которых равна заданному числу? http://www.cyberforum.ru/cpp-beginners/thread245378.html
C++ Нахождение точки пересечения функций
Необходимо вычислить абсциссы точек пересечения 3 функций. Отрезки, где программа будет искать точки пересечения, определить вручную. Сделать методом хорд (секущих). В программе описать функцию root(f, g, a, b, esp, x, f1, f2), где f и g - функции, а,b - отрезок, где точки пересечения, esp - точность (короче говоря, шаг, с которым функция проходит отрезок ), x - корень, f1, g1 - производные. ...
решение на c++ C++
Добрый день... Не могу решить 2 задачи...И не знаю где ошибка... Прошу пожалуйста - укажите на ошибки(помогите их исправить), буду вам очень признателен за помощь.. Задача №1 Папа Карло подарил Буратино 1 доллар в его первый день рождения, а экономный Буратино сложил подарок в банку. Каждый последующий год папа Карло удваивал свой предыдущий подарок и прибавлял к нему столько долларов,...
C++ Знаки елементов. http://www.cyberforum.ru/cpp-beginners/thread245368.html
Условие: Ввести с клавиатуры N элементов и проверить чередуются ли знаки. Если да , то вывести на экран "знаки одинаковые". Если нет, то написать все элементы со знаком "+" или "-". С++ Добавлено через 24 минуты плс срочно надо... Добавлено через 35 секунд
C++ Преобразованиие Хафа для линий через opencv #include <stdafx.h> #include <cv.h> #include <highgui.h> #include <math.h> int main(int argc, char** argv) { argv = "images/p1.png"; IplImage* image = cvLoadImage( argv, CV_LOAD_IMAGE_GRAYSCALE подробнее

Показать сообщение отдельно
Ortistx
1 / 1 / 0
Регистрация: 19.02.2011
Сообщений: 39

Открытие и запись bmp-файла - C++

19.02.2011, 22:32. Просмотров 10567. Ответов 8
Метки (Все метки)

Здравствуйте уважаемые участники форума.

Прошу помощи, т.к. не могу найти ошибку в программе. Задача - прочитать побайтно файл bmp и записать его в другой bmp файл. Использую следующий код:

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
int main()
{   
 
     // Объявляем структуры
     BITMAPFILEHEADER bfh_l;
     BITMAPINFOHEADER bih_l;
     RGBTRIPLE rgb_l;
    
    FILE * f1, * f2;
 
    f1 = fopen("1.bmp", "r+b");
    f2 = fopen("2.bmp", "w+b");
 
 
    fread(&bfh_l,sizeof(bfh_l),1,f1);       //Запихиваем файловый заголовок в структуру BITMAPFILEHEADER
    fwrite(&bfh_l, sizeof(bfh_l), 1, f2);   //
    fread(&bih_l,sizeof(bih_l),1,f1);       //Запихиваем заголовок изображения в структуру BITMAPINFOHEADER
    fwrite(&bih_l, sizeof(bih_l), 1, f2);   //
 
    for(int i=0;i< bih_l.biHeight;i++)
    {
        for (int j = 0; j < bih_l.biWidth; j++)
        {
 
            fread(&rgb_l, sizeof(rgb_l),1, f1);
            fwrite(&rgb_l, sizeof(rgb_l), 1, f2);
        }
        
    }
        
    fcloseall();
    getch();
   return 0;
}
Исходная картинка: 1.bmp
То, что получилось: 2.bmp
(на качество не обращайте внимание - пересохранял в jpeg чтобы выложить на форум. Главное отличие, что во 2ой картинке присутствует горизонтальная черная полоса сверху)

В целом файл копируется, но сверху почему-то полоса получается черная.
Прошу указать ошибку. Заранее спасибо.
Изображения
  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru