ПредишенСледващото

Разглеждане функция GetPixel (х, у) в паскал - много важно в графика подпрограма за Pascal с точки (пиксели). На страница сочи към Паскал. SetPixel PutPixel и направихме това се оцветява с точка в прозореца графика PascalABC.Net различни цветове, и след това от отделните пиксели изобразени геометрични форми - точка, линия, правоъгълник, кръг и елипсовидни. Това означава, че задачата е да се кръг, например, да се боя в предварително определена цвят - използване SetPixel или функция GetPixel.

Сега задачата е обратното: зароди нова фигура (или точка), е необходимо да се уточни цвета, в който е боядисан. Това се прави с помощта на функцията GetPixel.

✎ GetPixel (х, у) - връща координатите на цвят точка (х, у)

За да се демонстрира пример за използването на тази функция, напишете проста програма, която ще привлече трима случайни сенчеста цвят кръг. След това се направи повече и правоъгълник, който е засенчена в същия цвят като ви кръг за един.

Getpixel определи цвета на точката, как пипетата

Код PascalABC.Net, PascalABC

Стартирай тази програма в PascalABC.Net и да видим какво ще стане. Първо боя на първия тур на произволен цвят, след това втора и трета. За да зададете интервала от цветове, като използвате процедура SetBrushColor (.), Който определя четка за боя, и винаги се използва за запълване на заден план или някаква област.

Така че, след като сме се три от сенчеста оцветен кръг (редове 6 - 13), има съобщение, че цветът на правоъгълника е равна на следващия цвят на първия кръг (линия 19). Първото сведение - SetBrushColor (clWhite) (ред 16) - показва, че съобщението ще бъде записано в бял правоъгълник. Второто твърдение - SetFontColor (clRed) (ред 17) - рисува съобщение в червено (Font - шрифт, цвят - цвят). SetFontSize оператор (12) (линия 18) - размера на шрифта е 12 (размер - размер). И наистина, съобщението се показва в правоъгълник с координатите на горния ляв ъгъл (80, 220) чрез TextOut оператор (80, 220 'цветен правоъгълник = цвят на първия кръг ") (линия 19).

И накрая, да правоъгълника, след определяне на цвета на четката в третата част на програмата: SetBrushColor (GetPixel (100, 100)) (ред 22) - определяне на цвят точка с координати (100, 100). Вместо точка (100, 100) - центъра на първия кръг - може да вземе друга точка на този диапазон, например, (110, 90) или точка с координати (х, у), които отговарят на неравенство (х - 100) 2 + ( Y - 100) 2 <70 2 – условие попадания точки (x, y) в круг радиуса 70 с центром (100, 100).

Както можете да видите, че в резултат получаваме три многоцветен кръг и правоъгълник, чийто цвят съответства на цвета на първия тур. И всичко това заради факта, че сме решили, че цветът на първата цифра, използвайки функция GetPixel (X, Y) в Pascal, въпреки факта, че границите на цвят е случаен.

точка откриване цвят на фигура: с пипета

А сега погледнете по-интересен пример за използване GetPixel (X, Y), което показва, въз основа на какво мога да използвам "капкомер" в графични програми като Photoshop, Gimp, Paint.Net, или други подобни (платен и безплатен). За това ние трябва да се създаде някакъв модел, а след това кликнете върху снимката с левия бутон на мишката върху всяка точка, за да се определи цвета си с помощта на функцията GetPixel (X, Y).

Така че това, което трябва да изпълни две съчетания: първата е да се създаде (процедура рисуване) рисунка, а втората - да рисува малък цветен правоъгълник, който съвпада с цвета на точката, като натиснете върху него с мишката (процедура MouseDown). Първо, ние пише самата програма на PascalABC.Net (в обикновен PascalABC няма да работи, виж по-долу.)

Програмата работи както следва: първо, ние наричаме процедурата по чертеж, който създава изображение с помощта на вградени в съчетания работещи с пикселите - SetPixel (х, у, в), - където всяка точка на правоъгълника [0 255] х [0, 255] се назначава до известна цвят. След това, когато щракнете с мишката работи OnMouseDown процедура - събитие, натиснете бутона на мишката, да работи, между другото, като функция (за да може да бъде назначен друг ред). Тази процедура има три параметъра: X, Y - координати на точката във времето на като кликнете върху него с мишката и mousebutton на параметъра. Ако не бъде натиснат левия бутон на мишката, за mousebutton = 1, ако е надясно, след mousebutton = 2.

По този начин, когато натиснете бутона на мишката, причинени процедурата MouseDown, в който изчисленията се извършват само при натискане на левия бутон (MB = 1). Действията са прости: първо GetPixel (X, Y) чете координатите на натиснат точка и определя цвета си, а след това MouseDown рисува правоъгълника надясно в този цвят, но също така прави етикети - сумата от червени, зелени и сини цветове в цвета (0-255) ,

Ако не сте започнали програмата в PascalABC.Net или PascalABC, а след като експериментът. Всеки път, когато кликнете върху всяка точка на правоъгълника вдясно ще промени цвета си в съответния цвят. Опитайте да кликнете върху изображението и след това да се бяло поле (бял цвят - това е 255 за червено, зелено и синьо). Уверете се, че цветът на правоъгълника е винаги същият като цвета на пиксела сте кликнали с мишката.

Getpixel определи цвета на точката, как пипетата

Ето една рутинна тя GetPixel (X, Y) - функция, която връща цвета на точките с координати (X, Y).

Разделение> .uk панел ">" данни-UK-решетка-марж>

Подкрепете проекта - споделете линка, благодаря!