Главная страница
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.03 c
8-98746
maksyaha
2003-06-25 00:14
2003.10.30
Как можно сделать форму полупрозрачной и возможно ли это вообще?


8-98753
Franzy
2003-06-28 20:58
2003.10.30
Resizeble paintbox/timage.... - how?


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


14-98817
Юрий Ж.
2003-10-11 11:10
2003.10.30
Как написать свою Slell?


1-98570
lasso
2003-10-20 11:58
2003.10.30
help