Попробуй заменить Pixels на прямой доступ к строкам изображения.
Например, Input.Scanline[y] вернет указатель на строку Y (при этом нужно проверять выходы за пределы изображения).
Теперь чтобы получить нужный пиксел достаточно привести указатель к INT и прибавить координату X умноженную на 1, 2 или 4 (в зависимости от формата изображения).
Например: c := pbyte(integer(Input.Scanline[y]) + x)^; в случае 256-цветного изображения.
В переменной C будет цвет требуемой точки.
Если изображение 2-цветное, придется использовать битовые маски, но лучше преобразовать в 256-цветное.