Главная страница
    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.045 c
15-1164010694
Ольга
2006-11-20 11:18
2006.12.10
как убрать ошибку "invalid variant type conversion"


2-1164106222
JetuS
2006-11-21 13:50
2006.12.10
Передача пользовательского типа из функции в DLL


15-1163353224
Kolan
2006-11-12 20:40
2006.12.10
UML 2.0. Объектно-ориентированное моделирование и разработка


15-1164169616
Tab
2006-11-22 07:26
2006.12.10
защита данных в базе


3-1159868962
DimonS
2006-10-03 13:49
2006.12.10
Неправильный пароль в Access





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский