Главная страница
    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.45 MB
Время: 0.047 c
15-1163535427
Kerk
2006-11-14 23:17
2006.12.10
100 000чное скачивание


15-1164011476
Gavrila
2006-11-20 11:31
2006.12.10
TTreeView: как правильно использовать метод AddObject?


3-1159721176
DimDim
2006-10-01 20:46
2006.12.10
Перекрестный запрос


2-1163850359
Виталик 2006
2006-11-18 14:45
2006.12.10
Не присваиваются значения!


15-1164017918
_Ламер_
2006-11-20 13:18
2006.12.10
Что будет со службой если она зависнет?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский