*本文演示环形区域拉直
*利用polar_trans_region算子
gen_circle(Circle,256,256,100)
gen_circle(Circle2,256,256,50)
difference(Circle,Circle2, RegionDifference)
dev_clear_window()
dev_display(RegionDifference)
RowCen:=256
ColCen:=256
AngSta:=0
AngEnd:=3.1415*2
RanSta:=100+10
RanEnd:=50-10
RegWidth:=3.1415*RanSta
RegHeight:=RanSta-RanEnd
*区域操作
*'bilinear'指双线性插值
polar_trans_region(RegionDifference, PolarTransRegion, RowCen, ColCen, AngSta, AngEnd,RanSta, RanEnd, RegWidth,RegHeight, 'bilinear')
dev_clear_window()
dev_resize_window_fit_size(0,0,RegWidth,RegHeight,-1,-1)
dev_set_line_width(1)
dev_display(PolarTransRegion)
*上图的区域边缘有锯齿,用亚相素版本会好很多。