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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
#1

Задача с картинкой - C++

16.07.2013, 11:11. Просмотров 690. Ответов 15
Метки нет (Все метки)

Ребят выручайте, ибо задали то что мне не посильно. Задача такая: Побайтово считать картинку, и заменить некоторые байты на буквы и посмотреть что получится с картинкой. Если кому не сложно напишите пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2013, 11:11     Задача с картинкой
Посмотрите здесь:

C++ как сделать результат программы картинкой
Как работать с картинкой, зная HBITMAP C++
C++ Считать файл с картинкой
Залить картинкой фон консоли C++
Как создать окно с полупрозрачной картинкой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
monolit
180 / 180 / 21
Регистрация: 24.03.2011
Сообщений: 651
Завершенные тесты: 1
16.07.2013, 11:43     Задача с картинкой #2
А что с ней может случиться - цвет изменится в некоторых точках, и все...
А чтобы с ней работать побайтово - нужно ее еще открыть, и получить этот самый массив байт.
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
16.07.2013, 11:44  [ТС]     Задача с картинкой #3
я понимаю что мало что изменится, но программу то написать всё же надо
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
16.07.2013, 12:30     Задача с картинкой #4
ну так начинайте писать. для начала вам нужно открыть картинку, например bmp файл
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
16.07.2013, 12:32  [ТС]     Задача с картинкой #5
Мои знания в С++ заканчиваются косольным вводом выводом информации, и сортировка массивов((
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
16.07.2013, 12:34     Задача с картинкой #6
самое время их пополнить. Открытие и запись bmp-файла
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
19.07.2013, 14:04  [ТС]     Задача с картинкой #7
Что то совсем никак( Мог бы кто нибудь написать программу?
Kuzia domovenok
1887 / 1742 / 117
Регистрация: 25.03.2012
Сообщений: 5,916
Записей в блоге: 1
19.07.2013, 14:15     Задача с картинкой #8
кооперируйся с этим товарищем На языке СИ++ написать программу,Выполняющую следующие операции:
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
19.07.2013, 14:40     Задача с картинкой #9
я уже почти все написал что там нужно было
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
22.07.2013, 17:33  [ТС]     Задача с картинкой #10
Вот код: Могли бы проверить?
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
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include "string.h"
#include <iostream>
using namespace std;
 
int main()
{
 
 FILE *p=fopen("1.jpeg","r+b");   // задание режима чтения и записи файла
 
    char b,*r, *s = "Победа";
 
    int k=0,n,   // n - позиция в которую мы записываем слово
            i;
 
    cout << "input position of word in file"<<endl;
    cin >> n;
 
    i=0;
    while (n!=i)
       {
            fread(&b, sizeof(char), 1, p); //побайтово считываем картинку до позиции n
            i++;
        }
 
    k=strlen(s);   // k - длина слова
    i=0;
    while (k!=i)
       {
            fwrite(&s[i], sizeof(char), 1, p); //побайтово записываем слово
            i++;
        }
 
// проверка результата - чтение слова из файла
    rewind(p);
    fseek(p,n,0);
    i=0;
    r=new char[k];
    while (k!=i)
        {
            fread(&r[i], sizeof(char), 1, p);
            i++;
        }
 
    fclose(p);
 
    printf(" RESULT:\n ");
    cout << r << endl;
 
    return 0;
}
Добавлено через 2 часа 11 минут
Ребят, проверьте код пожалуйста, и скажите в какой папке картинка должна быть?
TimeToWork
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 25
22.07.2013, 18:02     Задача с картинкой #11
Можешь путь прописать в любую папку, например
C++
1
FILE *p=fopen("D:\\1.jpeg","r+b");
Ещё посоветовал бы использовать нормальные названия переменных вместо а,б,в,г,д. Не читабельно совсем.
И код
C++
1
while (k!=i)
заменить на
C++
1
while (i!=k)
Всё же k фиксированное, а i меняет своё значение.

При вводе маленьких n хз что будет - начало .bmp файла содержит информацию не о пикселях (https://ru.wikipedia.org/wiki/BMP). Так же, как и при вводе очень большого значения.
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
22.07.2013, 18:31  [ТС]     Задача с картинкой #12
TimeToWork, а можешь как нибудь исправить код чтобы обойтись без n?
Retyrn0
45 / 45 / 3
Регистрация: 24.06.2013
Сообщений: 675
Завершенные тесты: 1
22.07.2013, 19:11     Задача с картинкой #13
Картинка дожна находиться в той же папке, что программа (exe), но если запускать из-под компилятора, то в папке с исходниками. Файл должен называться "1.jpg" и что-то мне подсказывает, что Вы не сами этот код писали
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
22.07.2013, 19:55  [ТС]     Задача с картинкой #14
Retyrn0, незнаю с чего ты так решил, но я это и не скрываю
TimeToWork
4 / 4 / 0
Регистрация: 13.04.2013
Сообщений: 25
22.07.2013, 20:29     Задача с картинкой #15
Цитата Сообщение от DEMONSTR Посмотреть сообщение
// n - позиция в которую мы записываем слово
Цитата Сообщение от DEMONSTR Посмотреть сообщение
а можешь как нибудь исправить код чтобы обойтись без n?
Ну да, можно и без n, и без картинки, и без с++. Да только это уже другая задача будет, её нужно чётко сформулировать.
DEMONSTR
8 / 8 / 2
Регистрация: 07.03.2013
Сообщений: 66
22.07.2013, 22:20  [ТС]     Задача с картинкой #16
При построении в MSVS выдаёт кучу каких то ошибок( если код написан правильно, может кто нибость скомпилировать и выслать ехе-шник?

Добавлено через 1 час 43 минуты
Ну ребят, помогите пожалуйста
Yandex
Объявления
22.07.2013, 22:20     Задача с картинкой
Ответ Создать тему
Опции темы

Текущее время: 19:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru