Вниз
Скачать: CL | DM;

Перерисовка Image   Найти похожие ветки 

← →
учу   (2003-10-17 11:03) [0]

Некоторая процедура выполняет огромное количество операций (Polygon, Polyline, etc.) рисования на Image. Image расположен на активной форме. В процедуру передается Image...hdc. Все рисование занимает много времени. Как во время этого рисования выполнять перерисовку, так чтобы вновь нарисованные объекты отображались на экране. Методы типа Image.Repaint отнимают много времени. Заранее спасибо.


← →
BOA_KAA ©   (2003-10-17 11:07) [1]

Ыть...
Application.ProcessMessages


← →
учу   (2003-10-17 11:39) [2]

Application.ProcessMessages после каждой операции рисования приводит к неполному/неправильному результату. Часть объектов не отображается или отображается криво, не поймешь. В чем может быть проблема?


← →
BOA_KAA ©   (2003-10-17 12:03) [3]

Код приведи


← →
учу   (2003-10-17 12:32) [4]


while ind<sl.Count-1 do
begin
Inc(ind); //в текстовом файле сохраняются координыты вершин
str:=Copy(sl.Strings[ind],7, 20);
nor:=StrToInt(str);
SetLength(VertexesCounts,nor);
vcount:=0;
vind:=0;
for j:=1 to nor do
begin
Inc(ind);
vertexes:=StrToInt(sl.Strings[ind]);
VertexesCounts[j-1]:=vertexes;
Inc(vcount,vertexes);
SetLength(Points,vcount);
for i:=0 to vertexes-1 do
begin
Inc(ind);
str:=sl.Strings[ind];
SpaceInd:=Pos(" ",str);
x:=StrToFloat( LeftStr(str,SpaceInd) );
y:=StrToFloat( RightStr(str,Length(str)-SpaceInd) );
Points[vind].X:=Round((x-minx)*WorkDrawInfo.Scale);
Points[vind].Y:=Round((maxy-y)*WorkDrawInfo.Scale);
Inc(vind);
end;
end;
if nor=1 then
Polygon(workHDC,Points[0],Vcount)
else PolyPolygon(workHDC,Points[0],VertexesCounts[0],nor);
Application.ProcessMessages;
end;

Сначала у меня не было Application.ProcessMessages.
После всего перерисовывать Image (image.repaint)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
14-98816
4445
2003-10-11 15:54
2003.10.30
Тормозное открытие папок..


14-98803
Passlight
2003-10-13 09:32
2003.10.30
Книги и маржа


14-98810
Иван Шихалев
2003-10-12 00:11
2003.10.30
Hекоторые факты из жизни древних славян


3-98503
Кирилл
2003-10-09 13:02
2003.10.30
потерян пароль


7-98901
IGORYOK
2003-08-18 10:49
2003.10.30
Каким образом можно подсоединиться через номер к мобилке




   Наверх