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

Вниз

TBitmap to XML   Найти похожие ветки 

 
*Стажер*   (2006-11-23 11:32) [0]

В программе на панели создаются кнопки 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?


 
clickmaker ©   (2006-11-23 11:38) [1]

по традиции, бинарные данные сливают в XML в base64


 
SPad   (2006-11-23 18:55) [2]

В хелпе D7 нет ни слова о base64, а в сети лежат функции только для кодировки строк :(


 
Андрей Сенченко ©   (2006-11-23 19:22) [3]

*Стажер*   (23.11.06 11:32)  

А Битмапы берутся из "штатных" глифов TSpeedButton или подгружаются извне ?


 
*Стажер*   (2006-11-24 09:25) [4]


> Андрей Сенченко ©

Да и Glyph"ов, да я написал процедуру сохранения уже, пока "кривовато работает", нужно немного доработать.


 
Андрей Сенченко ©   (2006-11-24 10:21) [5]

Тогда просто непонятно - зачем Тебе сохранять битмапы в XML если достаточно сохранить ID-шник глифа в инишку ...

.. ну ладно


 
*Стажер*   (2006-11-24 10:35) [6]


> Андрей Сенченко ©

Сделал AppBar, (а то весь стол ярлыками засыпан) добавляем файл через WM_DROPFILES, из файла извлекаем иконку и вставляем ее в кнопку, если иконка не устраивает устанавливаем свой Bitmap, все кнопки сохраняем в XML, поэтому до кучи и в порядке самообразования решил затолкал туда и Glyph"ы.



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

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

Наверх




Память: 0.48 MB
Время: 0.029 c
15-1164193806
Footballer
2006-11-22 14:10
2006.12.10
Интернет-карты


2-1164378916
Pauchok++
2006-11-24 17:35
2006.12.10
Преобразование типов


3-1160120123
Romas81
2006-10-06 11:35
2006.12.10
Изменение пароля в Firebird


2-1164205377
Kolan
2006-11-22 17:22
2006.12.10
Как получить номер выделенной строки DBGrid?


15-1163647342
Slider007
2006-11-16 06:22
2006.12.10
С днем рождения ! 16 ноября