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

Вниз

Как преобразовать ICO которая находится в потоке в PBitmap?   Найти похожие ветки 

 
BaryVetaL ©   (2006-01-10 10:21) [0]

Кто знает как преобразовать ICO которая находится в потоке в PBitmap?
Спасибо!


 
BaryVetaL ©   (2006-01-10 10:26) [1]

поток естественно PStream :-)


 
Igi   (2006-01-10 13:48) [2]

Может помогет, писал процедуру недавно чтобы текст в трее показывать...

procedure StringToIcon(symb:string;var Icon:PIcon);
{создание значка с надписью из symb}
Var Rect: TRect;
   IcoBmp,ANDmask: PBitmap; {переменные типа BitMap}
   IcoInfo : TIconInfo;
begin
  try
     Icon.Free; {если она существовала - удаляем}
  except
  end;
   Rect.Left := 0;
   Rect.Right := 17;
   Rect.Top := 0;
   Rect.Bottom := 17;

   // Создали картинку с текстом. Черный текст на белом фоне.
   IcoBmp := NewBitmap(0, 0);
   IcoBmp.Height:=16; {новая картинка 32х32}
   IcoBmp.Width:=16;
   IcoBmp.Canvas.Brush.Color:=clWhite; {будущая маска AND}
   IcoBmp.Canvas.FillRect(Rect);
   IcoBmp.Canvas.Font.Assign(Form1.Form.Font);
   IcoBmp.Canvas.Font.Color := clBlack;
   IcoBmp.Canvas.TextOut(1,1,symb); {выводим текст значка}
   {создали белую картинку с текстом}

   {Теперь нужна анд маска - белые писели это прозрачный фон, а черные - это то что можно показыывать}
   ANDMask := NewBitmap(0, 0);
   ANDMask.Height:=16;
   ANDMask.Width:=16;
   ANDMask.Assign(IcoBmp);
   ANDMask.Convert2Mask(clWhite);

  {обеспечиваем прозрачность полностью черной маской XOR}
  Icon := NewIcon;
  Icon.Add2AutoFree(Form1.Form);

  IcoInfo.fIcon := True; {A value of TRUE specifies an icon}
  IcoInfo.xHotspot := 0;
  IcoInfo.yHotspot := 0;
  IcoInfo.hbmMask := ANDMask.Handle;
  IcoInfo.hbmColor := IcoBmp.Handle;
  Icon.Handle := CreateIconIndirect(IcoInfo); {создали}
  Icon.SaveToFile("C:\ico.ico");

  IcoBmp.Free;
  ANDMask.Free;
end;

Что-то с маской некорректно работает, но то что требовалось мне я от ней добился


 
Muxaspb ©   (2006-01-10 16:20) [3]


var
 Icon: PIcon;
 Bitmap: PBitmap;
 Stream: PStream;

...

var

Icon.LoadFromStream(Stream);
Bitmap.Handle:=Icon.Convert2Bitmap(clWhite);


 
Muxaspb ©   (2006-01-10 16:22) [4]

В предыдущем сообщении лишню var написал.


 
Vedun   (2006-01-10 22:48) [5]

Привет BaryVetaL.
Как там твой конвертер VCL->KOL? Как продвигается работа?


 
BaryVetaL ©   (2006-01-11 09:38) [6]

Все Ok процесс идет ;-)
Но для показа еще не готов (готов но работает не так как хочу я)



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

Форум: "KOL";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.042 c
1-1158687621
parasolka
2006-09-19 21:40
2006.10.29
DBGrid с нумерацией строк


2-1160865116
Noxq
2006-10-15 02:31
2006.10.29
Как скрыть форму, ещё в событии OnCreate.


1-1158477840
так себе
2006-09-17 11:24
2006.10.29
печать конвертов


15-1159967067
Kolan
2006-10-04 17:04
2006.10.29
Нужна программа для создания рамок по госту.


2-1160947024
Mavzik
2006-10-16 01:17
2006.10.29
Порядок передачи фокуса





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