Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.043 c
15-1163963893
radium
2006-11-19 22:18
2006.12.10
Как побороть троян?


2-1164392584
pathfinder
2006-11-24 21:23
2006.12.10
XLS to DBF..


2-1164332339
Sp1r1t
2006-11-24 04:38
2006.12.10
Экспорт из DLL


2-1163879556
flaxe
2006-11-18 22:52
2006.12.10
Сообщение над треем


15-1163928728
MsGuns
2006-11-19 12:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский