Rotate Pixel in Delphi

This example will show you how to rotate pixel with delphi:
screenshot :

geser sudut : degree
jari2i : diameter
posBundel : position of circle (edge)
code :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// menghitung posisi baru dari sebuah titik
Procedure RotateXY(vCenterX, vCenterY, OldX, OldY, Derajat:Integer; var NewX, NewY:integer);
var radians, CosX, SinY, x,y: double;
begin
  radians := derajat * pi / 180;
  CosX := cos(radians);
  SinY := sin(radians);
  X := OldX - vCenterX;
  y := OldY - vCenterY;
  NewX := round((x * CosX) - (y * SinY) + vCenterX);
  NewY := round((x * SinY) + (y * CosX) + vCenterY);
end;
parameter :
  • vCenterX, vCenterY - the midpoint (center) as a reference point
  • OldX, OldY - point will be rotated to a new point
  • Derajat - angle shift
  • NewX, NewY - new point after the shift (result).
example download here :
pass: d-pranita.net

Post a Comment