Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение из файла картинок


Илья С. ©   (2006-07-24 13:49:00) 

Вопрос следющий. Есть некий файл Image.rec. В нем лежит куча картинок. Мне нужно вызвать их из него, и поместить в открывшемся окне. Каким образом можно это осуществить? Желательно с самого начала, то есть с самого верха . Сама функция у меня, кажется, рабочая:

function LoadJPEGfromREC( Number: integer ): TJPEGImage;
var
 ResStream: TResourceStream;
begin
  Result := TJPEGImage.Create;
  ResStream := TResourceStream.CreateFromID( HInstance, Number, RT_RCDATA );
  Result.LoadFromStream( ResStream );
  ResStream.Free;
end;

Почему нужно полное описание, как это сделать - просто этот кусок взят со стороны, и я пока что вообще никак не разбираюсь по данному вопросу.

Есть еще процедура:

procedure TForm1.AutoPlayClick(Sender: TObject);
var
 i: integer;
 tmpJPG : TJPEGImage;
begin
  Tag := 0;
  for i := 1 to 127 do
  begin
     TrackBarNum.Position := i;
     tmpJPG := LoadJPEGfromEXE( i );
     PaintBox.Canvas.Draw( 0, 0, tmpJPG );
     Application.ProcessMessages;
     tmpJPG.Free;
     Sleep( TrackBarSpeed.Position );
     if Tag <> 0 then Break;
  end;
end;

Помогите, пожалуйста, разобраться.


vain   (2006-07-24 21:34:00) [1]


> Илья С.  

Почитай внимательно вот что (я сам недавно во всём этом разбирался):
http://delphimaster.ru/cgi-bin/forum.pl?id=1153655617&n=18


Ketmar   (2006-07-24 21:30:00) [2]

>KilkennyCat ©   (24.07.06 20:58) [3]
фмемориз! креатив сохранён в целях назидания потомкам.
%-)


KilkennyCat   (2006-07-24 21:10:00) [3]

> [5] Мефисто   (24.07.06 21:07)

Не люблю сериалы ;)


Мефисто   (2006-07-24 21:07:00) [4]


> KilkennyCat ©   (24.07.06 21:02) [4]


Да вам бы батенька MSDN писать :)))


KilkennyCat   (2006-07-24 21:02:00) [5]

> Всем спать! (И чем дальше ползет ТракаБараНум, тем дольше
> сон)


Очипся. Там затусовался кент ТракаБароСпид. Все будут спать столько, сколько скажет ТракаБароСпид.


KilkennyCat   (2006-07-24 20:58:00) [6]

Описание.

Функция загрузки картинки из ресурса. требует идентификатор ресурса, возвращает джпеговский графический объект.
Внутре объявлена переменная типа ресурсного потока.
создается результат функции, т.е джпгграфобъект.
создается поток ресурсный, на нас завязанный, с идентификатором ресурса в функцию переданным, объявленным как просто набор байт...
Джпгграфобъект грузит из ресурсопотока набор байт, выше полученный.
ресурсопоток убит.

далее.

Процедура ЗаигратьСамойПоКлику.
внутре объявлены переменная типа интегер под именем "и" и переменная под именем "тмпЖПГ" типа Имаджа Джпеговского.
Начали.
Некую глобальную переменную Таг опустили до нуля.
Заявили 127 одних и тех же действий, ответсвенный за выполнение - И.
(я опишу только одно из 127-и).
ТракаБараНум пододвинули на количество совершенных действий.
тмпЖПГ заставили создаться, обратившись к вышеописанной функции, в коей ему поставили сделали тату из каталога за номером, равным номеру действия.
ПаинтБоксная канва нагла сдраила эту тату на себя в верхний левый (наверное) угол.
Процедура милостиво разрешила поработать и другим, в результате чего наглая передроу тату было замечено и опаинтбликовано.
Убит нафиг тмпЖПГ (не переживайте, он будет убит еще 126 раз)
Всем спать! (И чем дальше ползет ТракаБараНум, тем дольше сон)
Блин, пока спали, Тага подменить могли (надо же, успели...). Если подменили, валим нахрен.
конец.
конец.


Мефисто   (2006-07-24 20:28:00) [7]


> Илья С.   (24.07.06 19:22) [1]


А что не получается?

или нам опечатки искать?

function LoadJPEGfromREC( Number: integer ): TJPEGImage;
tmpJPG  := LoadJPEGfromEXE( i );

и

PaintBox.Canvas.Draw( 0, 0, tmpJPG );
или
PaintBox1.Canvas.Draw( 0, 0, tmpJPG );
?

Конкретней, что не получается?


Илья С.   (2006-07-24 19:22:00) [8]

ап...


Наверх

Титульная страница Поиск, карта сайта Написать письмо