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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.004 c
2-1238441134
TheEd
2009-03-30 23:25
2009.05.17
Опять про JPG в БД


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


2-1238565285
DmitriyR
2009-04-01 09:54
2009.05.17
массивы char и longword


2-1238587647
Alex34
2009-04-01 16:07
2009.05.17
Как обратиться к определенной записи в таблице


15-1236072640
Дукам
2009-03-03 12:30
2009.05.17
Менеджер ресурсов в Дельфи 7





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