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

Вниз

Как сохранить список картинок из ImageList’а в один файл?   Найти похожие ветки 

 
MAN-IN-RED ©   (2002-06-20 14:06) [0]

Как сохранить список картинок из ImageList’а в один файл, а потом загрузить его?


 
MAN-IN-RED ©   (2002-06-20 15:40) [1]

Помогите же пожалуйста!


 
Kaban ©   (2002-06-20 15:44) [2]

Обязательно программно? Тогда зачем?
Впрочем все равно можно сделать нужных размеров BitMap, скопировать туда иконки и записать в файл.


 
Kaban ©   (2002-06-20 15:45) [3]

Кстати если не программно, щелкни правой кнопкой мыши на ImagList и выбери команду save to file


 
Man-In-Red ©   (2002-06-20 15:56) [4]

Обязательно программно!


 
Kaban ©   (2002-06-20 15:57) [5]

ну тогда см. первую подсказку. Можно узнать почему это обязательно


 
Man-In-Red ©   (2002-06-20 16:04) [6]


> Kaban © (20.06.02 15:57)
> ну тогда см. первую подсказку. Можно узнать почему это обязательно

На форме лежит ToolBar, у него есть свойство images… оно у меня равняется ImageList1,
Теперь все кнопки в ToolBar’е будут вытягивать нужную картинку из ImageList’a, но эти картинки нужно изменять в run-time, после этого, список нужно сохранить, а при следующем запуске загрузить!
Вот в этом та и вся трабла!


 
Kaban ©   (2002-06-20 16:09) [7]

Ну если уж на то пошло то можно и в отдельных файлах хранить.
А это не геморой изменять иконки на кнопках.


 
Man-In-Red ©   (2002-06-20 16:14) [8]


> А это не геморой изменять иконки на кнопках.

Их там всего 300... :)


 
Man-In-Red ©   (2002-06-20 16:21) [9]

Есть маленькая идейка… но нужна помощь в ее реализации…
Можно затянуть в это все дело listBox, и в него добавлять имена и пути к картинкам из ImageList’а, потом сохранить лист, при запуске загрузить, а вот тут есть вопрос – как теперь в ImageList добавить все картинки имена которых в ListBox’е?
Нужна помощь…


 
Kaban ©   (2002-06-20 16:27) [10]

Да нафига все эти извращения
Если уж сами написать не можете:

BitMap:=TBitMap.Create;
BitMap.Height:=IconHeight;
BitMap.Width:=IconWidth * IconCount;
for i:=0 to IconCount-1 do
ImageList1.Draw(BitMap.Canvas,i * IconWidth, 0 , i, true)

BitMap.SaveToFile("На хрена это все нужно.bmp");
BitMap.Free;


 
Skier ©   (2002-06-20 16:28) [11]

> Man-In-Red
Может имеет смысл хранить все
картинки в RES-файле и оттуда их брать
через ResInstLoad


 
McSimm ©   (2002-06-20 16:34) [12]

Сохранить в один файл можно так:
B := TBitmap.Create;
try
B.Handle := ImageList1.GetImageBitmap;
B.SaveToFile("c:\bbb.bmp");
finally
B.Free
end

Прочитать -
B := TBitmap.Create;
try
B.LoadFromFile("c:\bbb.bmp");
ImageList1.Clear;
ImageList1.Add(B, nil);
finally
B.Free
end


 
Kaban ©   (2002-06-20 16:36) [13]

О как значит можно


 
sergio2204   (2002-06-20 17:31) [14]

procedure SaveImageListToFile(ImageList: TImageList; FileName: string);
var
B: TBitmap;
i: Integer;
S: TFileStream;
begin
S := TFileStream.Create(FileName, fmCreate);
try
for i := 0 to ImageList.Count - 1 do begin
B := TBitmap.Create;
try
ImageList.GetBitmap(i, B);
B.SaveToStream(S);
finally
B.Free;
end;
end;
finally
S.Free;
end;
end;

procedure LoadImageListFromFile(ImageList: TImageList; FileName: string);
var
B: TBitmap;
S: TFileStream;
begin
S := TFileStream.Create(FileName, fmOpenRead);
try
while S.Position < S.Size do begin
B := TBitmap.Create;
try
B.LoadFromStream(S);
ImageList.Add(B, nil);
finally
B.Free;
end;
end;
finally
S.Free;
end;
end;



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

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

Наверх




Память: 0.5 MB
Время: 0.011 c
3-896
Termik
2002-06-07 12:08
2002.07.01
Как внести данные в таблицу внутри EXECUTE IMMEDIATE ?


1-1067
Rival
2002-06-18 23:59
2002.07.01
Помогите плз...


3-857
VAleksey
2002-06-06 08:13
2002.07.01
dbGrid or dbGridEh . Columns и их св-ва


4-1242
MisterBin
2002-05-02 16:27
2002.07.01
Закрыть чужое окно при наведении на него мышкой


1-1037
ef2000
2002-06-18 16:35
2002.07.01
Помогите, плиз!