Форум: "Основная";
Текущий архив: 2004.11.14;
Скачать: [xml.tar.bz2];
ВнизКак скопировать небольшую часть картинки в новый битмап? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c