Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program new;
- {$I SRL/OSR.simba}
- var
- bmp: TMufasaBitmap;
- TPA,tmp: TPointArray;
- ATPA: T2DPointArray;
- i,w,h: Int32;
- begin
- bmp.Init(client.GetMBitmaps);
- bmp.LoadFromFile('images/example.bmp');
- bmp.FindColors(TPA, 0);
- W := bmp.GetWidth;
- H := bmp.GetHeight;
- // make room for everything and clear the loaded image
- bmp.SetSize(W*2,H*2);
- bmp.DrawClear($FFFFFF);
- // draw the TPA
- BMP.DrawBox(Box(0,0,W-1,33), True, $AAAAAA);
- BMP.DrawSystemText('The TPA','Arial',17,Point(10,5),False,$99);
- bmp.DrawTPA(TPA, 0);
- // separating lines
- bmp.LineTo(Point(0,H), Point(W*2-1,H), 255);
- bmp.LineTo(Point(W,0), Point(W,H*2-1), 255);
- // draw ToATPA
- ATPA := TPA.ToATPA(20);
- BMP.DrawBox(Box(W+1,0,W*2-1,33), True, $AAAAAA);
- BMP.DrawSystemText('TPA.ToATPA(20)','Arial',17,Point(W+10,5),False,$99);
- for i:=0 to High(ATPA) do
- begin
- ATPA[i].Offset(Point(W,0));
- bmp.DrawTPA(ATPA[i],Random($FFFFFF));
- end;
- // draw ClusterTPA
- ATPA := TPA.Cluster(1);
- BMP.DrawBox(Box(0,H+1,W-1,H+33), True, $AAAAAA);
- BMP.DrawSystemText('ClusterTPA(1)','Arial',17,Point(10,H+5),False, $99);
- for i:=0 to High(ATPA) do
- begin
- ATPA[i].Offset(Point(0,H));
- bmp.DrawTPA(ATPA[i],Random($FFFFFF));
- end;
- // draw PertitionTPA
- ATPA := PartitionTPA(TPA, 20,20);
- BMP.DrawBox(Box(W+1,H+1,W*2-1,H+33), True, $AAAAAA);
- BMP.DrawSystemText('PartitionTPA(20,20)','Arial',17,Point(W+10,H+5),False, $99);
- for i:=0 to High(ATPA) do
- begin
- ATPA[i].Offset(Point(W,H));
- bmp.DrawTPA(ATPA[i],Random($FFFFFF));
- end;
- // half scale debugging
- bmp.ResizeEx(RM_Bilinear, W,H);
- bmp.Debug();
- bmp.Free();
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement