Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.17;
Скачать: CL | DM;

Вниз

Помогите с оптимизацией кода   Найти похожие ветки 

 
novai   (2009-04-01 06:40) [0]

есть код:
      bgcolor:=Collections[n].bgcolor;
      for yy:=0 to Collections[n].ImageDraw.Height-1 do
       for xx:=0 to Collections[n].ImageDraw.Width-1 do
       if Collections[n].ImageDraw.Canvas.Pixels[xx,yy]<>bgcolor then
      Сanvas.Pixels[Collections[n].left+xx,Collections[n].top+yy]:=Collections[n].ImageDraw.Canvas.Pixels[xx,yy];

Collections[n] - TBitmap с небольшими дополнениями (bgcolor)
Сanvas - канва формы
Идея такая: в Collections[n].ImageDraw лежит текущая картинка анимации (спрайта), каждые 10мс идет перерисовка всей сцены, рисуется фон а потом вот этим кодом спрайты, в коде, если пиксел "прозрачный", то не рисуем, а если нет, то рисуем на канвасе формы, но этот вариант медленный, чем заменить? как я понимаю scanline не подойдет? Подскажите.


 
novai   (2009-04-01 06:55) [1]

пока переделал
     Collections[n].ImageDraw.Transparent:=true;
     canvas.Draw(Collections[n].X,Collections[n].Y, Collections[n].ImageDraw);
     Collections[n].ImageDraw.Transparent:=false;      
но думаю что можно еще быстрее?


 
Б   (2009-04-01 06:58) [2]

Ж)
- Canvas.Draw(X, Y, BMP).
- Прозрачный цвет надо устанавливать растрам или где там.
- Рисовать надо на PaintBox.
- Scanline оставь на эффекты.


 
icWasya ©   (2009-04-01 14:38) [3]

А если хочешь работать попиксельно - изучай  TBitmap.ScanLines


 
FireMan_Alexey ©   (2009-04-06 09:15) [4]

Попробуй OPENGL! Тебе понравиться :)
Winamp с OPENGL-ом работает



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

Текущий архив: 2009.05.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1237371996
DmitryFox
2009-03-18 13:26
2009.05.17
Delphi 2009 и Delphi Prism


15-1237211479
@!!ex
2009-03-16 16:51
2009.05.17
Как забрать SVN репозиторий с сервера?


15-1237194918
Cobalt
2009-03-16 12:15
2009.05.17
Работа со строками через asm - переносимость между версиями?


15-1237120041
Юрий Зотов
2009-03-15 15:27
2009.05.17
Почтовый клиент перестал работать на отправку...


2-1238847972
Killwater
2009-04-04 16:26
2009.05.17
Файл ресурсов для waw звука