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

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

Наверх




Память: 0.47 MB
Время: 0.031 c
1-98703
able
2003-10-21 06:12
2003.10.30
Плззз!!! Хелп!!!


1-98599
Александр из Минска
2003-10-19 14:23
2003.10.30
Обращение к компоненту


3-98464
Broot
2003-10-11 06:29
2003.10.30
Русский язык в базе данных DBASE


3-98484
micklushka
2003-10-09 16:05
2003.10.30
informix conect without ODBC


14-98852
ИМХО
2003-10-09 19:10
2003.10.30
Футбол и мафия