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

C++

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

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

16.01.2013, 15:03. Просмотров 707. Ответов 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;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2013, 15:03     SDL Графика
Посмотрите здесь:

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

Не компилится SDL - Visual C++
Подкючил lib'ы скачанные с libsdl.org, dll лежит в папке с проектом, хидеры тоже включил. Не хочет компилится и все тут.

Некомпилируется SDL - Visual C++
Я уже замучался с этой либой несколько дней немогу запустить элементарный проект Делаю все по инструкции ...

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

Пасьянс SDL - Кроссплатформенная разработка
Добрый день. Только начала знакомство с SDL и получила задание: написать программу,которая строит один из видов пасьянсов. Две демонстрации...

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

Sdl, debian и с++ - C++ Linux
Добрый день. Уважаемые форумчане есть два вопроса, но ответ требует только один. 1) как в debian поставить SDL_image 2 версии? ...

Назначение SDL, QT, OpenGL - Кроссплатформенная разработка
В контексте разработки 3D игр недавно начал изучать SDL и постепенно начал закрадываться вопрос - а есть ли смысл? Что такого может...

Подключение SDL 2.0 MinGW - C++
Доброго времени суток. Закинул все файлы SDL по своим местам, но при компиляции через командную строку выводится следующее: Содержимое...

Подключение библиотеки SDL - Visual C++
как правильно надо подключать библиотеку? хедеры кинул в include/SDL2 dll в bin lib в lib vsexpress 2008 1&gt;------ Построение...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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