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

Как увеличить скорость???   Найти похожие ветки 

← →
AM   (2002-09-26 13:50) [0]

Я новичок в графике... и передомной стоит задача:
Есть файл BMP. Надо определить координату самой левой точки имеющий допустим какой-то конкретный цвет, допустим clRed.
Я делаю:
BtMap:= TBitmap.Create;
BtMap.LoadFromFile(Form7.OpenPictureDialog1.FileName);
H:= BitMap.Height;
W:= BitMap.Width;

For i:= 1 to W do
Begin
For j:= 1 to H do
Begin
If Bitmap.Canvas.Pixels[i, j] = clRed then
Begin
ShowMessage("x = " + IntToStr(i) + " y = " + IntToStr(j));
Exit;
End;
End;
End;

А есть ли другой способ кроме как перебирать поочереди все пиксели слева на право и проверять на цвет. Файлы большие 2500 X 2500.
Есть ли другой подход?
Можно ли получить сразу массив точек имеющий цвет clRed?


← →
MBo ©   (2002-09-26 13:53) [1]

1. Циклы от 0 до W-1 и H-1

2. Намного быстрее работать со ScanLine

>Можно ли получить сразу массив точек имеющий цвет clRed
нет


← →
AM   (2002-09-26 14:22) [2]

Не очень утешительно...
Большое спасибо за ответ!



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

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



Память: 0.45 MB
Время: 0.013 c
14-37281
m-Sergo
2002-12-25 19:38
2003.01.13
Продаётся куллер S-A(462) TITAN CU5TB ball bearing, медный


3-36956
DiLLeR
2002-12-17 14:38
2003.01.13
Delphi6 + QReport проблема, может кто сталкивался ...


4-37456
Ich Hasse
2002-11-22 14:59
2003.01.13
Мультимедиа таймер как установить?


1-37136
Evgeniy_k
2002-12-29 12:21
2003.01.13
API для вывода текста


1-37120
Kventin
2003-01-04 13:42
2003.01.13
Проблема с StringReplace




   Наверх