Как сделать калькулятор в Delphi?

Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.

Как Delphi реализует многоплатформенную разработку?

Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...

Как использовать anti-aliasing

Советы » Графика » Как использовать anti-aliasing

{The parameter "percent" needs an integer between 0 and 100
(include zero and 100). If "Percent" is 0, there will be no effect.
If it's 100 there will be the strongest effect.}

procedure

Antialising(C: TCanvas; Rect: TRect; Percent: Integer); var

l, p: Integer; R, G, B: Integer; R1, R2, G1, G2, B1, B2: Byte; begin

with

c do

begin

Brush.Style := bsclear; lineto(200, 100); moveto(50, 150); Ellipse(50, 150, 200, 30); for

l := Rect.Top to

Rect.Bottom do

begin

for

p := Rect.Left to

Rect.Right do

begin

R1 := GetRValue(Pixels[p, l]); G1 := GetGValue(Pixels[p, l]); B1 := GetBValue(Pixels[p, l]); //Pixel links //Pixel left R2 := GetRValue(Pixels[p - 1, l]); G2 := GetGValue(Pixels[p - 1, l]); B2 := GetBValue(Pixels[p - 1, l]); if

(R1 <> R2) or

(G1 <> G2) or

(B1 <> B2) then

begin

R := Round(R1 + (R2 - R1) * 50 / (Percent + 50)); G := Round(G1 + (G2 - G1) * 50 / (Percent + 50)); B := Round(B1 + (B2 - B1) * 50 / (Percent + 50)); Pixels[p - 1, l] := RGB(R, G, B); end

; //Pixel rechts //Pixel right R2 := GetRValue(Pixels[p + 1, l]); G2 := GetGValue(Pixels[p + 1, l]); B2 := GetBValue(Pixels[p + 1, l]); if

(R1 <> R2) or

(G1 <> G2) or

(B1 <> B2) then

begin

R := Round(R1 + (R2 - R1) * 50 / (Percent + 50)); G := Round(G1 + (G2 - G1) * 50 / (Percent + 50)); B := Round(B1 + (B2 - B1) * 50 / (Percent + 50)); Pixels[p + 1, l] := RGB(R, G, B); end

; //Pixel oben //Pixel up R2 := GetRValue(Pixels[p, l - 1]); G2 := GetGValue(Pixels[p, l - 1]); B2 := GetBValue(Pixels[p, l - 1]); if

(R1 <> R2) or

(G1 <> G2) or

(B1 <> B2) then

begin

R := Round(R1 + (R2 - R1) * 50 / (Percent + 50)); G := Round(G1 + (G2 - G1) * 50 / (Percent + 50)); B := Round(B1 + (B2 - B1) * 50 / (Percent + 50)); Pixels[p, l - 1] := RGB(R, G, B); end

; //Pixel unten //Pixel down R2 := GetRValue(Pixels[p, l + 1]); G2 := GetGValue(Pixels[p, l + 1]); B2 := GetBValue(Pixels[p, l + 1]); if

(R1 <> R2) or

(G1 <> G2) or

(B1 <> B2) then

begin

R := Round(R1 + (R2 - R1) * 50 / (Percent + 50)); G := Round(G1 + (G2 - G1) * 50 / (Percent + 50)); B := Round(B1 + (B2 - B1) * 50 / (Percent + 50)); Pixels[p, l + 1] := RGB(R, G, B); end

; end

; end

; end

; end

; procedure

TForm1.Button1Click(Sender: TObject); begin

Antialising(Image1.Canvas, Image1.Canvas.ClipRect, 100); end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2024 - All Rights Reserved - www.delphirus.com