Вниз
Скачать: 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.032 c
3-1097670942
Lord de Mon
2004-10-13 16:35
2004.11.14
Две базы


3-1097758099
star
2004-10-14 16:48
2004.11.14
сортировка


4-1097141154
lightix
2004-10-07 13:25
2004.11.14
Узнать ID активного приложения


3-1097563325
sanek
2004-10-12 10:42
2004.11.14
какой тип больше string(255) в DBF


14-1099128975
Федя
2004-10-30 13:36
2004.11.14
GTA SAN Andreas




   Наверх