Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.08.2008, 23:00   #1
Sanek777
Заблокирован
Пользователь
 
Регистрация: 31.07.2008
Сообщений: 90
По умолчанию Пишите кто знает анимации

Пишите кто знает какие исходные коды анимаций в Дельфи. Беду очень благодарен!!!
Sanek777 вне форума Ответить с цитированием
Старый 09.08.2008, 23:45   #2
Карась
Участник клуба
 
Аватар для Карась
 
Регистрация: 26.10.2007
Сообщений: 1,244
По умолчанию

Непонял.... каких ещё анимаций?
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым,
Попытка глубже понимать уже попахивает литром...
Карась вне форума Ответить с цитированием
Старый 10.08.2008, 00:09   #3
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Какая конкретная анимация интересует. Вот например из одного bmp другой сделать можно плавно.
Код:
procedure TForm1.Button1Click(Sender: TObject);
const times = 50; //за сколько проходов сменить рисунок
var
  bm, bm1, bm2: TBitMap;
  p1, p2, p: PByteArray;
  i, y, x: integer;
begin
  bm := TBitMap.Create; 
  bm1 := TBitMap.Create;
  bm2 := TBitMap.Create;
  bm1.LoadFromFile('1.bmp'); 
  bm2.LoadFromFile('2.bmp');
  bm.PixelFormat := pf24bit;
  bm1.PixelFormat := pf24bit;
  bm2.PixelFormat := pf24bit;
  bm.Height :=bm1.Height;
  bm.Width :=bm1.Width;
  image1.Canvas.Draw(0, 0, bm1); 
  for i := 1 to times - 1 do
  begin
    for y := 0 to bm.Height - 1 do
    begin
      p := bm.ScanLine[y]; 
      p1 := bm1.ScanLine[y];
      p2 := bm2.ScanLine[y];
      for x := 0 to bm.Width * 3 - 1 do
        p^[x] := round((p1^[x] * (times - i) + p2^[x] * i) / times);
    end;
    image1.Canvas.Draw(0, 0, bm);
    Application.ProcessMessages;
    sleep(50) //пауза
  end;
  bm1.Destroy;
  bm2.Destroy;
  bm.Destroy
end;
З.Ы. Рисунки в папке программы и должны быть одинакового размера, на форме должны быть TImage и TButton
eoln вне форума Ответить с цитированием
Старый 10.08.2008, 00:19   #4
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Хм, опять-таки напомню про функцию AnimateWindow
Вложения
Тип файла: rar animatewindow.rar (2.8 Кб, 23 просмотров)
NikLik вне форума Ответить с цитированием
Старый 10.08.2008, 13:09   #5
Sanek777
Заблокирован
Пользователь
 
Регистрация: 31.07.2008
Сообщений: 90
По умолчанию

А можно из jpeg плавные переходы?
Sanek777 вне форума Ответить с цитированием
Старый 10.08.2008, 23:40   #6
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Jpeg надо в bmp перегнать, иначе никак
Код:
var
  bm1: TBitmap;
  JPG: TJPEGImage;
...
  JPG := TJPEGImage.Create;
  JPG.LoadFromFile('1.jpg');
  bm1 := TBitMap.Create;
  bm1.pixelformat := pf24bit;
  bm1.width := JPG.width;
  bm1.height := JPG.height;
  bm1.canvas.draw(0, 0, JPG);
eoln вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстуры, картинки, анимации Doom4eg Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 02.08.2008 21:35
Мучение без анимации! Манжосов Денис :) Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 17.05.2008 18:08
Файлы для анимации Dimon88 Помощь студентам 2 13.05.2008 23:06
Gif анимации Witaliy Мультимедиа в Delphi 9 28.04.2008 10:47
Как развернуть окно без анимации Dima63 Общие вопросы Delphi 1 17.04.2007 22:06