![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 08.11.2009
Сообщений: 16
|
![]()
Есть изображение в формате pcx, уже декомпрессированное (в data содержатся значения яркостей - три байта RGB для каждой точки).
Теперь нужно вывести это изображение (именно data) с помощью DirectDraw на экран. Что-то выводится, но это не похоже на то изображение, которое было. Выводятся какие-то непонятные линии, не могу сделать, чтобы изображение выводилось в столбик. Перепробовала уже все, что могла. Надеюсь на вашу помощь. Код функции, которая выводит изображение: void DrawScreen() { char fname[]= "miny.pcx"; PCX pcx(fname); pcx.readHeader(); pcx.decompress(); DDSURFACEDESC ddsd; ZeroMemory(&ddsd,sizeof(ddsd)); ddsd.dwSize = sizeof(ddsd); if (lpPrimarySurface->Lock(NULL,&ddsd,DDLOCK_WAIT,NULL)= =DD_OK) { char* buffer = (char *)ddsd.lpSurface; unsigned int x = pcx.xmax-pcx.xmin+1; unsigned int y = pcx.ymax-pcx.ymin+1; for (int i=0; i<y; i++) { for (int j=0;j<x*3; j+=3) { memset(buffer+((i+2)*PHYSICAL_WIDTH +i*x+j/3), RGB(pcx.data[i*x+j],pcx.data[i*x+j+1],pcx.data[i*x+j+2]), 1); } } } lpPrimarySurface->Unlock(ddsd.lpSurface); } Проблема находится в цикле. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс. Проблема с выводом. | zhenya.ya | Общие вопросы C/C++ | 6 | 19.09.2010 16:26 |
Проблема с выводом данных в С++ | justso | Помощь студентам | 3 | 19.05.2010 11:04 |
Проблема с выводом на экран | NeveX | Общие вопросы .NET | 3 | 20.12.2009 13:57 |
проблема с выводом информацыи | Betman | Общие вопросы Delphi | 2 | 29.10.2009 17:09 |
проблема с выводом результата | Nyutka | PHP | 2 | 16.04.2009 11:58 |