Форум: "WinAPI";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];
ВнизКак Bitmap поместить на DC? Найти похожие ветки
← →
Th (2002-10-02 20:20) [0]Подскажите плз. Есть BMP:HBitmap. Надо в методе Paint компонента вывести этот BMP на компонент. Какой это функцией лучше сделать, а то не хочется лишний DC создавать для BitBlt
← →
Diamond Cat (2002-10-02 23:48) [1]надо в сообщении wm_paint подменять hdc на свой. не помню точно но вроде это wparam
← →
SPeller (2002-10-03 01:24) [2]
> Diamond Cat © (02.10.02 23:48)
Первый раз о таком слышу.
Вообще, всегда создаётся временный DC и из него копируется на DC который на экран выводит.
← →
Юрий Зотов (2002-10-03 02:17) [3]Canvas.Handle, и ничего создавать не надо.
← →
SPeller (2002-10-03 10:26) [4]
> Юрий Зотов © (03.10.02 02:17)
По-моему всё-таки придётся создать ещё один DC, прикрепить к нему битмап, и из него уже копировать на Canvas.Handle
← →
Юрий Зотов (2002-10-03 11:44) [5]А почему не сразу из битмапа?
← →
Th (2002-10-03 12:06) [6]А как сразу из битмапа вывести?
← →
k (2002-10-03 13:19) [7]в wm_paint передается dc окна, требующего прорисовки
чтоб сделать ч-л с BMP надо сделать его активным на к-н dc,
и оперировать уже с ним
var dc:HDC;
OldHandle:HBITMAP;//старый Handle
dc := GetCompatibleDC(0);
OldHandle := SelectObject(dc, BMP);
//операции копирования BitBlt и т п
SelectObject(dc,OldHandle);// наверное можно и без этого, но хуже не будет
DeleteDC(dc);
← →
han_malign (2002-10-03 14:41) [8]может он про это(а то не понятно что же нужно)
var bm: TBitmap;
begin
bm.Handle:=BMP;
Canvas.Draw(0,0,bm);
bm.free;
end;
← →
Th (2002-10-03 18:03) [9]> han_malign (03.10.02 14:41)
> может он про это(а то не понятно что же нужно)
Нет я немного не про это ;)) МЕтодами канваса пользоваться как-то западло, извините за выражение.
Вообще, всем спасибо - проблему я решил. Просто вместо CreateCompatibleDC(0) использовал GetDC(0) из-за ничего не получалось с SelectObject и пришлось искать обходные пути. Сейчас все пашет ;)
← →
Diamond Cat (2002-10-04 03:28) [10]2 SPeller почитай хелп на wm_paint
← →
Evgeny (2002-10-04 05:18) [11]>Просто вместо CreateCompatibleDC(0) использовал GetDC(0)
Гланды тоже можно удалять через одно место...
← →
SPeller (2002-10-04 13:38) [12]
> 2 SPeller почитай хелп на wm_paint
Передаётся DC на котором ресуют?? Да ради бога. Тогда попробуй обходясь одним этим ДС, не создавая временных, нарисовать битмап на нём.
Удачи.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.11.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c