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

Вниз

Как правильно уменьшить иконку?   Найти похожие ветки 

 
DNT ©   (2002-07-04 12:58) [0]

Мне нужно достать из файла иконку и уменьшить ее до 16х16.

Достаю иконку. Копирую ее в битмап.

procedure TForm1.Resize_icon(bmp:TBitmap;source:TBitmap);
//procedure changes icon TBtimap size from 32x32 to 16x16 with interpolation

var x,y:integer;
r,g,b:integer;
color:TColor;
begin
for y:=0 to 15 do
for x:=0 to 15 do begin
color:=source.Canvas.Pixels[x*2, y*2];
r := GetRValue(color);
g := GetGValue(color);
b := GetBValue(color);
color:=source.Canvas.Pixels[x*2+1, y*2];
r := r+GetRValue(color);
g := g+GetGValue(color);
b := b+GetBValue(color);
color:=source.Canvas.Pixels[x*2, y*2+1];
r := r+GetRValue(color);
g := g+GetGValue(color);
b := b+GetBValue(color);
color:=source.Canvas.Pixels[x*2+1, y*2+1];
r := r+GetRValue(color);
g := g+GetGValue(color);
b := b+GetBValue(color);
r:=r div 4;
g:=g div 4;
b:=b div 4;
bmp.canvas.Pixels [x,y]:=RGB(r,g,b)
end;
end;


Уменьшаю вот так, но там где была прозрачность на иконке пропадает. Как с этим справится?
Заранее спасибо.


 
DNT ©   (2002-07-04 18:45) [1]

Неужели никто не знает?


 
Skier ©   (2002-07-04 19:07) [2]

>DNT
Может это поможет :
http://delphi.mastak.ru/cgi-bin/faq.pl?look=1&id=988625276&n=21


 
DNT ©   (2002-07-04 19:16) [3]

Спасибо, подчти подходит. Только надо наоборот, из иконки битмат. И при создании использовать маску тоже.



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

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

Наверх




Память: 0.47 MB
Время: 0.012 c
7-47820
Arhangel
2002-04-19 13:47
2002.07.15
Как зарегестрировать свой тип файла?


3-47205
Юра
2002-06-19 12:07
2002.07.15
Как сделать вертикальный скроллбар в фильтрованной TTable?


1-47523
newuser
2002-07-04 17:58
2002.07.15
Меню?


14-47772
panov
2002-06-14 10:18
2002.07.15
трансляции футбола


14-47731
Nevercomes
2002-06-11 20:05
2002.07.15
Мастера, помогите пожалуйста!