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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2010, 10:55   #1
Жаконда
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 15
Восклицание Как анимировать картинки часов ?

Добрый день, проблема вот в чем есть картинки цыфровых часов, типа как в сериале lost, подскажите как их можно анимировать, т.е сделать чтобы они как бы переворачивались ? картинки часов прилогаю.
Изображения
Тип файла: png 2.png (2.4 Кб, 143 просмотров)
Тип файла: png 2(1).png (2.8 Кб, 135 просмотров)
Тип файла: png 2(2).png (2.5 Кб, 95 просмотров)
Жаконда вне форума Ответить с цитированием
Старый 07.12.2010, 17:40   #2
Жаконда
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 15
По умолчанию

столько просмотревших и ни у кого нет идей как это сделать ?
Жаконда вне форума Ответить с цитированием
Старый 07.12.2010, 17:42   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

я лично не очень понимаю что надо сделать, покажите схемкой какойнить.
поворот изображений обсуждался уже.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.12.2010, 17:42   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

copyrect() исходного (в буфере) на канвас.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.12.2010, 17:54   #5
Жаконда
Пользователь
 
Регистрация: 26.11.2009
Сообщений: 15
По умолчанию

ну думаю видели телефон HTC, в его оболочке HTC manila есть часы, когда минуты, часы перелистываются, все это происходит плавно и красиво ) как можно сделать хоть что то подобное ?
Жаконда вне форума Ответить с цитированием
Старый 07.12.2010, 19:37   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

нет, не видели HTC и манилу тоже не видели...
Пока Вы не сделаете внятное и понятное объяснение того, что вы собственное хотите - вряд ли кто-то Вам что-то подскажет..

p.s. сделайте анимированный гиф, или снимите ролик про Ваш HTC manila или найдите изображение в интернете (на ютубе, например)...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.12.2010, 20:51   #7
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...предполагаю что-то вроде этого, только с цифрами:
Вложения
Тип файла: txt clip0006.avi.txt (129.5 Кб, 148 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 07.12.2010, 21:43   #8
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Demo написал, не сложное. Нужно фрейм делать из картинок и все.
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ImgList;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    ImageList1: TImageList;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
   I :Integer;
    { Public declarations }
  end;

const
  St :array[Boolean] of string = ('Старт', 'Стоп');

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  case Timer1.Enabled of
 True: begin // стоп
        Timer1.Enabled := False;
       end;
 False:begin // старт
        Timer1.Enabled := True;
       end;
  end;
 Button1.Caption := St[Timer1.Enabled];
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  Bmp :TBitmap;
begin
 Timer1.Enabled := False;
 Timer1.Interval := 400;
  //
 Button1.Caption := St[Timer1.Enabled];
  // одна часть изображения
 with ImageList1 do
 begin
  Height := 83;
  Width := 48;
 end;
 I := 0;
 Bmp := TBitmap.Create;
  try
 Bmp.PixelFormat := pf24bit;
 Bmp.Transparent := True;
 Bmp.TransparentColor := clRed;
 Bmp.LoadFromFile(ExtractFilePath(ParamStr(0)) + '2_Frame.bmp');
 ImageList1.AddMasked(Bmp, clRed);
  finally
 FreeAndNil(Bmp);
  end;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Repaint;
 SetBKMode(Canvas.Handle, TRANSPARENT);
 ImageList1.Draw(Canvas, 10, 10, I);
 if I < ImageList1.Count-1 then
  Inc(I)
 else
  I := 0;
end;

end.
Вложения
Тип файла: rar Demo Anim.rar (22.0 Кб, 46 просмотров)
Alter вне форума Ответить с цитированием
Старый 07.12.2010, 21:49   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

да нет, мне кажется тут чуть другое..
вот тут, на первых секундах ролика можно увидеть, как эти часы выглядят (к сожалению, процесс перехода смазан - как раз телефон поворачивают в этот момент)


а может это "обычные" переворачивающиеся часы (смотри скриншот тут). Ну это у пиндосов были такие часы. Ещё до изобретения электронных. Там на карточках цифры, в середине цифры проходит ось, кажда цифра написана на двух карточках (половинка цифры на верхей, половина над нижней), когда приходит время, верхняя половинка опускается, а на обратной стороне другая цифра открывается..
Кстати, если это такие часы, то их можно подробно рассмотреть в замечательном фильме "День сурка" (могу выложить ролик оттуда)
вот, кстати, можно такие даже купить - Часы с переворачивающимися иконками в ретро стиле

Жаконда, вам такое надо?...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.12.2010, 22:17   #10
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Вот оно как надо было. Но это не очень сложно, код-основа есть, остальное дело техники.
Alter вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
swf картинки как кнопки Pein95 Компоненты Delphi 2 03.12.2010 22:20
Отображение картинки на кнопке WPF. Загрузка картинки из ресурсов. Проблема с Uri. Casper-SC Общие вопросы .NET 0 27.06.2010 23:11
Как скрыть форму в иконку около часов? juan666777 Общие вопросы Delphi 4 18.04.2010 13:50
часы показывают m часов, n минут и k секунд. Каковы будут показатели часов через p часов, q минут и r сек Паскалька^^ Помощь студентам 3 11.10.2009 19:41
КАК поделить цыферблат часов на 10 равных частей? VALIK Общие вопросы Delphi 4 28.02.2007 19:51