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

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

← →
Artemiy2004   (2004-10-30 13:55) [0]

Добрый день, вот нашел такой исходник на вашем форуме. В нем предполагалось копирование изображения панельки в битмап. Хотел тоже самое сделать, но только скопировать маленький кусочек размером 16х16 из большой картинки которая загружена в Image1.
Далее этот новый маленький битмап делаю глифом SpeedButton. Результат, вместо картинки вставляется пустота. Что я тут неверно делаю, поправьте исходник пожалуйста.

procedure TForm1.MakeBitMap;
var
srcDC, destDC: HDC;
hbm: HBITMAP;
resBMP: TBitMap;
begin
resBMP := TBitMap.Create;

srcDC := GetDC(Image1.Picture.Bitmap.Handle);
destDC := CreateCompatibleDC(srcDC);

// создаем битмап
hbm := CreateCompatibleBitMap(srcDC, 16, 16);

SelectObject(destDC, hbm);

// копируем содержимое
BitBlt(destDC, 0, 0, 16, 16, srcDC, 0, 0, SRCCOPY );

resBMP.Handle := hbm;

// после использования удаляем все лишнее
DeleteDC( destDC );
ReleaseDC(Image1.Picture.Bitmap.Handle, srcDC );
DeleteObject( hbm );

SpeedButton1.Glyph := resBMP;
end;


← →
Artemiy2004   (2004-10-30 14:12) [1]

очень нужно, помогите плиз.


← →
Defunct ©   (2004-10-30 21:17) [2]

CopyRect


← →
Mihey_temporary ©   (2004-10-30 23:39) [3]

Кстати, ты знаешь, что TBitmap.Canvas.Handle имеет тип HDC??? Действуй.



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

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



Память: 0.45 MB
Время: 0.022 c
1-1099305872
Mishenka
2004-11-01 13:44
2004.11.14
Как нарисовать ломаную линию на форме?


6-1094485928
Gera
2004-09-06 19:52
2004.11.14
Indy tcpClient и tcpServer


6-1094244415
AlexG
2004-09-04 00:46
2004.11.14
Имя пользователя, работающего на компьютере


1-1099318797
sergvc
2004-11-01 17:19
2004.11.14
Выбор принтера в TWebBrowser


8-1092035524
Delphi5.01
2004-08-09 11:12
2004.11.14
Interesuet algoritm sozndania perehoda




   Наверх