Форум: "Основная";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
ВнизКак сохранить список картинок из 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c