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

Вниз

Как преобразовать 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 вся ветка

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

Наверх




Память: 0.45 MB
Время: 0.429 c
2-1160890421
ctudent
2006-10-15 09:33
2006.10.29
Работа с компонентами в Run-Time


1-1158232320
Артем22
2006-09-14 15:12
2006.10.29
PNG и DrawGrid


4-1150295473
Jolik
2006-06-14 18:31
2006.10.29
Заменить залокированный системой файл...


2-1160537533
pkm
2006-10-11 07:32
2006.10.29
Типизированный файл.


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