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

Вниз

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

 
Green_Templar ©   (2005-03-20 02:41) [0]

Нужно загрузить растр в TDXImageList после запуска программы. Гружу dximagelist1.items[].picture.bitmap.loadfromfile(), но после этого растр всё равно не рисуется dximagelist.items[].draw(). Удалось устранить проблему, добавив строчку dxdraw1.finalize;dxdraw1.initialize; Но ведь это слишком тормозно так делать! Может есть какой другой способ делать рисовабельными картинки, загруженные после запуска программы (после инициализации дхдрова)?


 
kruel   (2005-03-20 15:00) [1]

DXImageList1.Items.Restore


 
Green_Templar ©   (2005-03-20 15:38) [2]

Спасибо огромное, Kruel!
Вот ещё идея появилась: а что если для того, чтобы нарисовать спрайт, использовать не form1.dximagelist1.items[0].draw, а взять адрес p:=@form1.dximagelist1.items[0], а потом p^.draw? Но какой тип должен быть у указателя p? p:^tdximagelist.items ему не нравится, а брать p:^tdximagelist нет толку.


 
Kruel   (2005-03-20 16:06) [3]

А зачем через адреса? Я так понимаю, нужна просто именованная ссылка на tdximagelist.item, чтоб его нарисовать. Укажи какой класс через TPictureCollectionItem():

var p:Pointer;
...
p:=form1.dximagelist1.items[0]
TPictureCollectionItem(p).Draw(DXDraw.Surface,0,0,0);


 
Green_Templar ©   (2005-03-20 21:09) [4]

Вообще-то нужно нарисовать спрайт из имэджлиста как можно быстрее. Я так понимаю, что если мы пишем
p:=form1.dximagelist1.items[0]
TPictureCollectionItem(p).Draw(DXDraw.Surface,0,0,0);
что, как я понимаю, то же самое что form1.dximagelist1.items[0].draw();
то оно каждый раз при рисовании будет сначала находить айтэм №0, а потом рисовать, а я хочу чтобы оно его сразу рисовало :) ! На моём Celeron633 и i810 video приходится бороться за каждый фрэйм :)


 
Green_Templar ©   (2005-03-21 22:24) [5]

Помогите, пожалуйста!!!


 
Omar2002 ©   (2005-03-23 10:46) [6]

DXDraw1.Flip;


 
Omar2002 ©   (2005-03-23 10:49) [7]

никаких dxdraw1.initialize не надо, нужно просто свойство DXDraw компонента DXImageList установить DXDraw1, ну или как он там у тя называется.


 
Green_Templar ©   (2005-03-23 21:31) [8]

Omar2002, вы меня не поняли.
Нужно не просто нарисовать form1.dximagelist1.items[0], а сделать это самым быстрым способом, как удачно грузить растры я уже понял.


 
A22 ©   (2005-03-24 18:21) [9]

DirectDraw вообще имеет слабое отношение к самым быстрым способам :(
хотя, если нет вариантов, плюнь на все эти ссылки и т.д. и переведи свои картинки в адаптивную палитру. bmp 256 цветов все же будет быстрее на экран выводиться из-за меньшего объема копируемой памяти


 
Green_Templar ©   (2005-03-26 01:27) [10]

А как это сделать? Тупо в пэйнте поменять атрибуты рисунка? Там палитра портится.


 
Omar2002 ©   (2005-03-27 11:40) [11]

нет, в пэйнте не надо. лучше в фотошопе, там можно сохранить локальную палитру рисунка, тогда он максимально будет похож на свой 16 битовый оригинал.



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

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

Наверх




Память: 0.47 MB
Время: 0.039 c
6-1111940008
Евгений2
2005-03-27 20:13
2005.06.29
Как можно получить доступ к DOM не используя TWebBrowser


3-1115962840
Извращенец2
2005-05-13 09:40
2005.06.29
Сломалась *.gdb размером 4Gb


3-1116307822
kyn66
2005-05-17 09:30
2005.06.29
Как удалить ключевой столбец из таблицы Access ?


1-1118250161
Оля
2005-06-08 21:02
2005.06.29
Блочные шифры срочно!!!


3-1116850425
Надежда
2005-05-23 16:13
2005.06.29
Не срабатывает установка DisplayFormat полю ClientDataSet





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский