Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
ВнизOffsetRgn и TCanvas Найти похожие ветки
← →
fog (2006-10-26 03:22) [0]ДВС! Помогите найти ошибку в тест-программе, плз.
procedure TForm1.MyDraw(const Cs: TCanvas);
begin
Cs.Ellipse(0, 0, 110, 110);
end;
procedure TForm1.Button1lick(Sender: TObject);
var i, j: integer;
p: TPoint;
r: TRect;
hr: hRgn;
begin
hr := CreateRectRgn(0, 0, 100, 100);
SelectClipRgn(Canvas.Handle, hr);
SetWindowOrgEx(Canvas.Handle, 0, 0, @p);
for j := 1 to 5 do
begin
MyDraw(Canvas);
i := OffsetRgn(Canvas.Handle, -j*100, 0);
//i = 0 - область не смещается
OffsetWindowOrgEx(Canvas.Handle, -j*100, 0, @p);
Canvas.Pen.Color := clRed shl j*10;
end;
DeleteObject(hr);
end;
Замысел - последовательно отрисовать несколько однотипных процедур (MyDraw) в одном DC с отсечением - чтобы исключить проверку на выпадение точек за пределы области.
Просьба рассматривать данный вопрос AS IS. (без вариантов BitBlt, TBitmap и т.д. и т.п.)
← →
Gero © (2006-10-26 03:25) [1]> [0] fog (26.10.06 03:22)
Синтаксических ошибок нет.
← →
Ketmar © (2006-10-26 04:17) [2]OffsetRgn(), F1. и долго думать, почему HDC -- это не HRGN.
← →
fog (2006-10-26 21:09) [3]Изменил код на
OffsetRgn(hr, -100, 0);
OffsetWindowOrgEx(Canvas.Handle, -100, 0, @p);
Эффект - 0. Рисует только один круг.
OffsetRgn работает относительно Viewport или Window?
← →
Ketmar © (2006-10-26 21:28) [4]>[3] fog 26-Oct-2006, 21:09
насколько мне помнится, менять надо что-то одно: или регион, или начало координат. проверять лень, сам проверь.
← →
DiamondShark © (2006-10-26 23:08) [5]регион двигать не надо
← →
Ketmar © (2006-10-26 23:14) [6]>[5] DiamondShark(c) 26-Oct-2006, 23:08
>регион двигать не надо
ну да. я примерно это и имел в виду. оставил автору для экспериментов. %-)
← →
fog (2006-10-26 23:32) [7]Регион двигать надо.
OffsetClipRgn(Canvas.Handle, 100, 0);
OffsetViewportOrgEx(Canvas.Handle, 100, 0, p);
Осталось только выяснить как это стелать через OffsetWindowOrgEx.
← →
Ketmar © (2006-10-26 23:43) [8]ты разницу между region и clipping region улавливаешь?
← →
Ketmar © (2006-10-26 23:44) [9]что-то у меня подозрение, что ты вместо поискать в инете описания пытаешься ненаучным тыком всё понять. нет, это тоже способ, но муторный. иногда проще поискать. %-)
← →
Ketmar © (2006-10-26 23:45) [10]кстати, а фэньшуй... э... фэньхоа... э... о! Feng Yuan об этом, часом, не писал?
← →
fog (2006-10-27 00:19) [11]2 Ketmar>
"Профессионал - это тот, кто не только знает, а еще умеет объяснить."
Не лень писать голимые коменты?
← →
Ketmar © (2006-10-27 00:30) [12]>[11] fog 27-Oct-2006, 00:19
>Не лень писать голимые коменты?
ясно. ещё один чукча. в сад.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.11.12;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.046 c