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

C++

Войти
Регистрация
Восстановить пароль
 
Mefiresu
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 12
#1

SDL Графика - C++

16.01.2013, 15:03. Просмотров 720. Ответов 0
Метки нет (Все метки)

Может кто чем поможет?
-Написать фильтр преобразования матрицы изображения к бинарному виду.
(только белый (255.255.255) или только чёрный (0.0.0)(двойным циклом , передавать число. >127 - становится чёрным, <127 - белым.)
-Написать фильтр преобразования к чёрнобелому виду. (Greyscale).

Основной код
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
89
#include <stdio.h>
#include <stdlib.h>
#include<SDL2/SDL.h>
struct Pixel{
unsigned char R;
unsigned char G;
unsigned char B;
};
 
struct INFO{
int width;
int height;
short int depth;
int size;
};
 
struct Pixel **bitmap;
struct INFO inf;
 
int readInfo(char *path){
FILE *bmp;
bmp=fopen(path,"rb");
if(!bmp)return 1;
fseek(bmp,12,SEEK_SET);
fread(&inf.width,sizeof(inf.width),1,bmp);
fread(&inf.height,sizeof(inf.height),1,bmp);
fseek(bmp,2,SEEK_CUR);
fread(&inf.depth,sizeof(inf.depth),1,bmp);
fseek(bmp,4,SEEK_CUR);
fread(&inf.size,sizeof(inf.size),1,bmp);
 
fclose(bmp);
return 0;
}
 
void initMatrix(){
register unsigned short int i;
bitmap=(struct Pixel**)malloc(inf.height*sizeof(struct Pixel*));
for(i=0;i<inf.height;i++)
    bitmap[i]=(struct Pixel*)malloc(inf.width*sizeof(struct Pixel));
}
 
int loadBMP(char *path){
FILE *bmp;
bmp=fopen(path,"rb");
if(!bmp)return 1;
 
register unsigned short int i,j;
for(i=0;i<inf.height;i++){
    for(j=0;j<inf.width;j++)
        fread(&bitmap[i][j],sizeof(struct Pixel),1,bmp);
}
fclose(bmp);
return 0;
}
 
void Show(SDL_Renderer *rend){
register unsigned short int i,j;
for(i=0;i<inf.height;i++){
    for(j=0;j<inf.width;j++){
    SDL_SetRenderDrawColor(rend,bitmap[i][j].B,bitmap[i][j].G,bitmap[i][j].R,0);
    SDL_RenderDrawPoint(rend,j,i);
 
    }
 
}
}
 
int main(int argc,char **argv)
{
     SDL_Window *win;
     SDL_Renderer *render;
    if(SDL_Init(SDL_INIT_VIDEO)<0)return 1;
    win=SDL_CreateWindow("Events",SDL_WINDOWPOS_CENTERED,
                         SDL_WINDOWPOS_CENTERED,600,600,SDL_WINDOW_SHOWN);
    render=SDL_CreateRenderer(win,-1,SDL_RENDERER_ACCELERATED);
 
readInfo("test.bmp");
initMatrix();
loadBMP("test.bmp");
 
Show(render);
SDL_RenderPresent(render);
 
 
SDL_Delay(10000);
SDL_Quit();
return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 15:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SDL Графика (C++):

SDL Графика. - C++
Добрый день! Не могу соединить два проекта, в одном изображение переводится в ч\б, во втором тонируется изображение. Мне нужно получить...

SDL - Конфигурирование - C++
Всем доброго времени суток. Недавно натолкнулся проблему с настройкой SDL. Дело в том, что мне нужно отключить переадресацию stdio с...

Проинициализировать sdl раньше чем другие файлы - C++
Есть проект из нескольких файлов. Этот проект использует библиотеку sdl. Есть главный файл, где проходит инициализация sdl и есть функция...

Подключение SDL - C++ Builder
Помогите пожалуйста установить библиотеку SDL под с ++ Embarcadero XE 5. Скачал исходники SDL с офф сайта но там куча файлов и мои глаза...

Использование библиотеки SDL - C++ Builder
Написать программу, которая будет с сайта ЦБРФ запрашивать текущий курс валюты, отображать курсы валют с использованием библиотеки SDL и...

Подключение sdl к RAD!?!? - C++ Builder
Может кто нибудь сказать КАк подключить СДЛ 2(второй) к Билдеру ?

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.01.2013, 15:03
Привет! Вот еще темы с ответами:

Вывести на экран дисплея график функции y=( x), в заданном диапозоне изменения аргумента x от a до b с числом точек графика n. Ширину поля графика и - C++ Builder
Помогите с примером, заранее благодарен) Вывести на экран дисплея график функции y=( x), в заданном диапозоне изменения аргумента x от a...

Как вывести текст на экран, используя библиотеку SDL TTF для SDL 2? - C++
В официальной доке как-то скомкано написано. При инициализации SDL TTF и при загрузке шрифта ошибок нет. Но текст на экране не...

C++ SDL - C++
Всем привет! Работал я значи в SDL, а потом что-то нажалось ил не нажалось и вообщем теперь, при компиляции любого(работающего,...

Документация по SDL - C++
Люди , кто знает пожалуйста киньте ссылки на документацию по SDL =) Заранее спс!


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

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