Delphi World - Графичен редактор

Приложението изпълнява следните функции:

Задайте основни и вторични цветове. Щракването с левия бутон върху цветната лента задава основния цвят, докато щракването с десния бутон задава вторичния цвят.

Четка - бутон SBBrush. Боядисва затворена област, ограничена от цвета на пиксела, зададен от щракването на мишката. Щракването с левия бутон запълва с основния цвят, щракването с десния бутон с вторичния цвят.

Цветна индикация -бутон SBColor. В този режим можете да насочите курсора на мишката към който и да е пиксел в изображението и като щракнете върху левия бутон, зададете цвета на този пиксел като основен цвят, а като щракнете върху десния бутон на мишката, го задайте като спомагателен цвят.

Отмяна на операции, извършени от последния използван инструмент - команда Edit Undo.

Отваряне на графичен файл - команда File Open (MOpenClick).

Вмъкване на растерна графика

delphi

редактор

Ако бутонът на мишката е натиснат върху цветовата палитра,Изображение4, или ако бутонътSBColor- бутонът за цветен показалец е натиснат, тогава приложението е в режим на настройка на цветовете. При натискане на левия бутон на мишката цветът на пиксела под курсора на мишката се прехвърля в прозореца на основния цвят, а при натискане на десния бутон се прехвърля в прозореца на спомагателния цвят.

Ако бутонът на мишката е надолу върху платното,Изображение3, или акоSBColor- бутонът за избор на цвят е вдлъбнат, тогава приложението е в режим на рисуване на определената област от картината. В този случай, в зависимост от натиснатия бутон на мишката, се избира основен или спомагателен цвят и функциятаFloodFillзапълва областта, координатите на вътрешната точка на която се показват от курсора на мишката, а цветът е цвета на пиксела, към който сочимишка.

Чертане на правоъгълник - бутонSBRectang. С основния цвят се рисува правоъгълна рамка.

Началото на режимите на рисуване за запълнени и незапълнени правоъгълници възниква при събитието onMouseDown и тяхното продължение при събитията onMouseMove и не се различават от разглеждания режим за избор на фрагмент.; на събитието MouseUp трябва да нарисувате правоъгълник. ;Изчертаването на запълнен правоъгълник се извършва от следните оператори: Изчертаването на незапълнен правоъгълник става от следните оператори: Изчертаване на запълнен правоъгълник – бутонSBFillRec. Начертава се правоъгълна рамка с основния цвят, а правоъгълникът вътре се запълва с вторичния цвят.

Възможни стойности за свойството Режим на писалката

Началото на рисуване на права линия се осъществява от събитието onMouseDown: Рисуване на права линия - бутонSBLineПравата линия се рисува в основния цвят.

Продължаването на изчертаването на права линия се извършва от събитието onMouseMove: Финалните операции по време на събитието MouseUp са подобни на тези, обсъдени по-горе, но се допълват от превключване на писалката в режим pmCopy, по време на който се изчертава последната линия: Молив - бутонSBPen. Можете да начертаете произволна крива с основния цвят. Глиф:=..\Изображения\Бутони\молив.bmp

Когато този инструмент е внедрен във формуляра: линията ще се раздели на отделни точки, тъй като курсорът на мишката се движи бързо и събитията onMouseMove изобщо не възникват при преместване към съседен пиксел. Линията, оставена от курсора, също трябва да бъде начертана с помощта на метода LineTo, поставяйки оператора в манипулатора на събития onMouseMove: Изтриване на изображение (гума) – бутон SBERase. Преместването на гумата оцветява областта под нея с водещия цвят.

Гумичкареализиран чрез методаFillRect, който изчиства изображението под неговата рамка.

Запазването на файл се извършва с помощта на компонента SavePictureDialog от оператора: Запазване на изображение в графичен файл - командата File / Save as ...

Предварително избран от потребителя обект подлежи на копиране или изрязване, чието местоположение и размер се определят от променливата R. Следователно първо се създава временен обект от типа TBitMap, в който се прехвърля копираният фрагмент. След това обектът се копира в клипборда. Копиране или изрязване на избран фрагмент от изображение в клипборда на клипборда - команди EditCopy или EditCut

Четенето от ClipBoard се извършва с помощта на метода LoadFromClipBoardFormat. Прихващане на изключението EInvalidGraphic се предоставя, ако ClipBoard съдържа небитова матрица: Вмъкване на графично изображение от тип битова матрица от клипборда на Clipboard - команди EditPaste.