Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.14;
Скачать: 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 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.026 c
1-1099005259
BURN
2004-10-29 03:14
2004.11.14
Подсчет дней


3-1098085500
Ega23
2004-10-18 11:45
2004.11.14
В чём может быть дело???


9-1090216307
Yurko
2004-07-19 09:51
2004.11.14
Расчет нормалей (OpenGL)


14-1098772125
malamba
2004-10-26 10:28
2004.11.14
Кто как пишет запросы?


3-1097726684
Belkova
2004-10-14 08:04
2004.11.14
Экспорт в excel