Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Вниз

TFastDIB и DirectX   Найти похожие ветки 

 
Programmer_SC   (2003-09-18 19:18) [0]

Hi to all. Есть такая проблема пишу двиган без VCL с DirectX и FastLib. Так вот:

uses
Windows, messages,DirectDraw,fastdib;

Var
...
bmp : TFastDIB;
DC : HDC;
...

Begin
//Инициализация окна и DirectX
SecondarySurface.GetDC(DC);
bmp := TFastDIB.Create;
bmp.LoadFromFile("bmpшка");
bmp.Draw(DC,0,0);
BitBlt(DC,0,0,300,300,bmp.hDC,0,0,SRCCOPY);
bmp.Free; //Удаляем bmp
SecondarySurface.ReleaseDC(DC);//Необходимо удалить DC
...
//translatemessage,dispatchmessage
...
End;

Прога намертво виснет. Если убрать bmp.LoadFromFile то все норм. работает. Прога полноэкранная, путь к бмп правильный(юзал TBitMap все работает), заголовки DirectX от Jedi, FastDIB нормальный(примеры к нему идут без проблем). Ну и как это лечить?(TBitMap не предлагать, просто хочется разобраться с FastLib)


 
Sapersky   (2003-09-18 21:31) [1]

bmp.Draw(DC,0,0);
BitBlt(DC,0,0,300,300,bmp.hDC,0,0,SRCCOPY);


Зачем два раза рисовать одно и то же?
Чтобы не висло - вынести LoadFromFile перед GetDC (GetDC - это фактически Lock, и чем меньше поверхность будет в таком состоянии, тем лучше), проверять взаимные размеры поверхности и FDIB (хотя по идее GDI должен отсечь всё что не влезает).


 
Programmer_SC   (2003-09-18 22:03) [2]

>bmp.Draw(DC,0,0);
>BitBlt(DC,0,0,300,300,bmp.hDC,0,0,SRCCOPY);
>Зачем два раза рисовать одно и то же?
это глюки у меня(т.е. в коде нормально стоит)

Вынес... не работает, в общем то генериться Error215(переполнение) видимо в LoadFromFile... пробовал уменьшить бмп, даже 10 килов не берет. Нифига не понимаю....


 
Programmer_SC   (2003-09-18 22:18) [3]

Все исправил... Проблема была в LoadFromFile
Sapersky спасибо за инфу!!!



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2004.01.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.01 c
1-63093
Zheks
2004-01-07 19:14
2004.01.20
Поочерёдная запись в файл двумя разними программами.


14-63328
Volkov
2003-12-30 20:29
2004.01.20
Создание директорий (mkdir)


14-63408
Думкин
2003-12-27 05:58
2004.01.20
С днем рождения! 27 декабря.


3-63035
gleb
2003-12-22 13:07
2004.01.20
dbgrid


7-63426
Tik
2003-11-06 17:35
2004.01.20
Иконки в ХР





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский