Главная страница
    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.061 c
4-1115404364
Wolfram
2005-05-06 22:32
2005.06.29
Как вызвать диалоговое окно свойств файла?


1-1117782191
BigBan
2005-06-03 11:03
2005.06.29
Операции со строками


14-1117310218
VictorT
2005-05-28 23:56
2005.06.29
Кажется, один из немногих форумов, где и по выходным есть...


3-1116234329
Maverick
2005-05-16 13:05
2005.06.29
Передача параметра в ADOStoredProc


3-1116522241
PalladinA
2005-05-19 21:04
2005.06.29
Похоронил ли Delphi 2005 технологию BDE?





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