Вниз
Скачать: CL | DM;

Как hicon переделать в hbitmap и при этом увеличить или уменьшить   Найти похожие ветки 

 
Nikfel ©   (2007-06-11 16:01) [0]

Пожалуйста помогите переделать алгоритм:
procedure TForm1.Button1Click(Sender: TObject);
var
       TheBitmap : TBitmap;
begin
       TheBitmap := TBitmap.Create;
       TheBitmap.Width := Application.Icon.Width;
       TheBitmap.Height := Application.Icon.Height;
       TheBitmap.Canvas.Draw(0, 0, Application.Icon);
       Form1.Canvas.StretchDraw(Rect(0,0,TheBitmap.Width * 3,TheBitmap.Height * 3),
                  TheBitmap);
       TheBitmap.Free;
end;


 
Thaddy   (2007-06-11 17:17) [1]

Something like this, UNTESTED:

Procedure TForm1.ButtonClick(Sender: PObj);
var
      TheBitmap: PBitmap;
      R:TRect;
begin
      TheBitmap: = NewBitMap(Applet.Icon.width,Applet.Icon.Height);
      R := MakeRect(0,0,TheBitmap.Width * 3.TheBitmap.Height * 3));
     TheBitmap.StretchDraw(Form1.Canvas.Handle,R);
     TheBitmap.Free;
end;


 
Nikfel ©   (2007-06-13 16:06) [2]

Спасибо за помощь. Вот правильный код:
procedure TForm1.Button1Click(Sender: PObj);
var
     TheIcon: Picon;
     R:TRect;
begin
TheIcon:= kol.NewIcon;
TheIcon.Handle:=applet.Icon;
R:= MakeRect(0,0,64,64);
TheIcon.StretchDraw(form.Canvas.Handle,R);
TheIcon.Free;
end;
Жаль только изображение немного искажается, как исправить.


 
SergeR ©   (2007-06-13 16:21) [3]

Использовать масштабирование из сторонних библиотек.
Я, например, Strecth(var Src,Dst: PBitmap; Filter: TFilterProc; FWidth: single) из
KOLjanFXcut использую.


 
Vladimir Kladov   (2007-06-13 20:48) [4]

Для масштабирования в меньшую сторону всегда полезно вызывать SetStretchBltMode( dc, halftone ) перед StretchBlt (или тем, что его вызовет). В большую - разницы не замечал, при кратном увеличении. Но если не кратное, то может, и поможет. Да, работает вроде как только в NT, в 9х не дает особого эффекта.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
15-1195306015
БарЛог
2007-11-17 16:26
2007.12.16
Подскажите программу для бэкапа ОС


15-1194486447
KilkennyCat
2007-11-08 04:47
2007.12.16
А кто-нибудь в детстве мечтал быть программистом?


2-1195713651
eugie
2007-11-22 09:40
2007.12.16
Создание компонетов по имени класса


3-1186578799
zmalqop
2007-08-08 17:13
2007.12.16
Создание индекса


15-1195288205
@!!ex
2007-11-17 11:30
2007.12.16
Загрузка png Linux и Windows




   Наверх