|
|
#1
|
|||
|
|||
Цвет
Здравствуйте.
Как задать цвет точки a:=image1.Canvas.Pixels[45,45]; ________________________ a:=image1.Canvas.Pixels[45,45]:=clRed; выдаёт ошибку. |
#2
|
||||
|
||||
Естественно... Ты сам то понимаешь, что пытаешься сделать этой строкой
a:=image1.Canvas.Pixels[45,45]:=clRed; ты можешь либо получить цвет точки a:=image1.Canvas.Pixels[45,45]; либо установить image1.Canvas.Pixels[45,45]:=clRed; других вариантов нет... |
#3
|
|||
|
|||
>Естественно... Ты сам то понимаешь, что пытаешься сделать этой строкой
>a:=image1.Canvas.Pixels[45,45]:=clRed; Конечно понимаю, но так как я новичок - поэтому и спросил (думал что можно как то по другому описать). Ладно тогда задача в следующем: надо сравнить две точки с одинаковыми координатами, но у одной точки цвет фиксированный (допустим красный), а вот вторая точка так как координаты определены на картинке то цвет её (точки) меняется (с каждым изменением картинки). Если цвет точки на картинке совпадают с цветом постоянной точки, то выполняется тото тото, а ежели нет то выполняется другое. Надеюсь я понятно изложил свои мысли. |
#4
|
||||
|
||||
Вполне
Код:
if image1.Canvas.Pixels[45,45] = clRed then // Совпадает else // Не совпадает Код:
if image1.Canvas.Pixels[45,45] = image2.Canvas.Pixels[5,5] then // Совпадает else // Не совпадает |
#5
|
|||
|
|||
Я так понимаю у тебя два imag'а и ты сравниваешь пиксели этих imag'ов c одинаковыми координатами, тады:
//-------------------------------- var Cl1,Cl2:TColor; begin Cl1:=Image1.canvas.pixel[x,y]; Cl2:=Image2.canvas.pixel[x,y]; if cl1=cl2 then (--твой код--) else (--твой код--); end; //-------------------------------- |
#6
|
|||
|
|||
Цитата:
Я так и написал - всё работает ,но есть одно но, координаты обоих пикселов всегда одинаковые, а надо чтобы срав нивался их цвет. |
#7
|
|||
|
|||
Ну дык Cl1=Cl2 - это и есть сравнение цветов пикселей с одинаковыми координатами.
|