SCANLINE DELPHI КАК РАБОТАЕТ
Scanline - это метод доступа к данным пикселей изображения и широко используется при работе с графикой в Delphi. Вместо того, чтобы использовать метод функции GetPixel/ SetPixel, который замедляет работу приложения, метод scanline представляет каждую строку изображения как массив байтов.
Метод scanline может использоваться для получения данных о цвете пикселя, а также для установки значения цвета пикселя. Для примера, рассмотрим следующий код для определения цвета пикселя:
var ColorOfPixel : TColor; BitMap : TBitMap; begin BitMap := TBitMap.Create; try BitMap.LoadFromFile('image.bmp'); ColorOfPixel := BitMap.Canvas.Pixels[100, 100]; finally BitMap.Free; end; end;
Пример выше загружает изображение из файла и затем, используя свойство Pixels, определяет цвет пикселя в координатах (100, 100). Однако, вместо свойства Pixels лучше использовать метод scanline, который работает быстрее. Для этого необходимо загрузить изображение следующим образом:
var ColorOfPixel : TColor; BitMap : TBitMap; X, Y : Integer; PixelRow : PRGBTripleArray; begin BitMap := TBitMap.Create; try BitMap.LoadFromFile('image.bmp'); for Y := 0 to BitMap.Height - 1 do begin PixelRow := BitMap.ScanLine[Y]; for X := 0 to BitMap.Width - 1 do begin ColorOfPixel := RGB(PixelRow[X].rgbtRed, PixelRow[X].rgbtGreen, PixelRow[X].rgbtBlue); end; end; finally BitMap.Free; end; end;
Пример выше загружает изображение и перебирает каждую строку изображения, доступ к которым осуществляется через метод ScanLine. Каждый пиксель представляется структурой RGBTriple, содержащей составляющие цвета (красный, зеленый и синий). Например, если нужно изменить цвет пикселя в определенных координатах, можно использовать:
var BitMap : TBitMap; PixelRow : PRGBTripleArray; begin BitMap := TBitMap.Create; try BitMap.LoadFromFile('image.bmp'); PixelRow := BitMap.ScanLine[Y]; PixelRow[X].rgbtRed := 255; // устанавливаем красный цвет PixelRow[X].rgbtGreen := 0; // устанавливаем зеленый цвет PixelRow[X].rgbtBlue := 0; // устанавливаем синий цвет finally BitMap.Free; end; end;
Таким образом, метод scanline позволяет работать с пиксельными данными изображения в Delphi гораздо быстрее, чем использование свойства Pixels.
Автосканер Delphi Autocom, пример диагностики на авто
Co potrafi chińskie Delphi w Mercedesie vs Star-Diagnosis
Delphi #171 - Telnet
Autocom cdp, Delphi DS150e. Пример работы Часть 1
how to operate Delphi AutoCom Diagostic Software to Diagnose Mercedes Sprinter w906 2012
Delphi DS150 PRO Diagnostic Scanner with Bluetooth - Test
Delphi Diagnostic Scan Tool Demonstration Video
Delphi Diagnostic Scan Tool Demo
Функции и возможности Delphi DS150E
Delphi Diagnostic Scan Tool