![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TBitmap to XML [D7, XP]
*Стажер* © (2006-11-23 11:32:00)В программе на панели создаются кнопки TSpeedButton, при закрытии сохраняю все в XML, а как сохранить Bitmap’ы с кнопок сообразить не могу.
Пытаюсь затолкать данные из памяти в PChar, а его уже сохранить в XML
var
ms : TMemoryStream;
Buffer : PChar;
begin
ms := TMemoryStream.Create;
TSpeedButton(Panel1.Controls[0]).Glyph.SaveToStream(ms);
//ms.Seek(0, soFromBeginning);
ms.Position := 0;
GetMem(Buffer, ms.Size - 1);
try
ms.ReadBuffer(Buffer[0], ms.Size - 1);
ShowMessage('MS=' + IntToStr(ms.Size) + #13 +
'Buffer size=' + IntToStr(length(Buffer) - 1)+ #13
+'Buffer=' + Buffer);
finally
FreeMem(Buffer);
ms.Free;
end;
Не работает. Как поправить? Или возможно есть другой способ сохранить Bitmap в XML?
*Стажер* (2006-11-24 10:35:00) [1]
> Андрей Сенченко ©
Сделал AppBar, (а то весь стол ярлыками засыпан) добавляем файл через WM_DROPFILES, из файла извлекаем иконку и вставляем ее в кнопку, если иконка не устраивает устанавливаем свой Bitmap, все кнопки сохраняем в XML, поэтому до кучи и в порядке самообразования решил затолкал туда и Glyph'ы.
Андрей Сенченко (2006-11-24 10:21:00) [2]Тогда просто непонятно - зачем Тебе сохранять битмапы в XML если достаточно сохранить ID-шник глифа в инишку ...
.. ну ладно
*Стажер* (2006-11-24 09:25:00) [3]
> Андрей Сенченко ©
Да и Glyph'ов, да я написал процедуру сохранения уже, пока "кривовато работает", нужно немного доработать.
Андрей Сенченко (2006-11-23 19:22:00) [4]*Стажер* (23.11.06 11:32)
А Битмапы берутся из "штатных" глифов TSpeedButton или подгружаются извне ?
SPad (2006-11-23 18:55:00) [5]В хелпе D7 нет ни слова о base64, а в сети лежат функции только для кодировки строк :(
clickmaker (2006-11-23 11:38:00) [6]по традиции, бинарные данные сливают в XML в base64