-------Это должно выполнятся, когда прямая еще не нарисована---------
Код:
//Чтобы не было проблем с занисением данных в массив
type PixelData=record
Point:Tpoint; //Координаты точки
Color:TColor //Цвет точки
end;
var
Mass: array of PixelData; //Наш массив
//Формирование массива
procedure GetMass(x1,y1,x2,y2:integer); //Координаты двух точек через которые проходит прямая
var
t,x,y:integer;
begin
SetLength(Mass,x2-x1);
for t:=x1 to x2 do begin
//Система параметрических уравнений, которой удовлетворяет каждая точка прямой
x:=x1+t*(x2-x1);
y:=y1+t*(y2-y1);
Mass[t-x1].x:=x;
Mass[t-x1].y:=y;
Mass[t-x1].color:=bitmap.canvas.pixel[x,y]; //Здесь твой битмап
end;
end;
Admin: Пока просто напоминание про теги. Стыдно, батенька.
//Не гарантирую правильность и точность (не проверял), возможно сущуствует и более рациональное решение