图像分割问题 ( 积分: 300 )

  • 主题发起人 主题发起人 wqhatnet
  • 开始时间 开始时间
W

wqhatnet

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将一张jpeg图像分割成几张规则或不规则的图像,并用其他的颜色或图片填充它们?
 
先转化为bmp 然后根据高宽就可以按需划分为N块区域 根据划分的区域创建位图并且使用copyrect函数将图像从原始图片上COPY过来 这个时候你面对的就是多张小位图 想怎么处理都可以
 
不规则的块怎么办?
关键的就在于此
 
像PS里的磁套工具谁做过吗?
 
看看你自己的delphi源码吗,比如 windows单元文件。

里面有几个非常实用的函数,比如选择区域,剪切区域。这个区域有 TRect的,也
有专门针对HRGN的。HRGN与Rect也可转化。规则与不规则都有类似的函数。

比如 剪切一个圆角矩形区,再画这个区域,再反转显示出这个区域。

总之,Delphi封装了很多非实用的API,还有它自己的函数。很是灵活。
 
到此帖看看也许会有帮助
http://www.delphibbs.com/delphibbs/dispq.asp?lid=3196342
 
非常好
还有没有其他的
 
好贴不要沉
顶顶顶顶顶顶顶顶顶顶顶
 
用Api,
CombineRgn
CreateEllipticRgn
CreateEllipticRgnIndirect
CreatePolygonRgn
CreatePolyPolygonRgn
CreateRectRgn
CreateRectRgnIndirect
CreateRoundRectRgn
EqualRgn
ExtCreateRegion
FillRgn
FrameRgn
GetPolyFillMode
GetRegionData
GetRgnBox
InvertRgn
OffsetRgn
PaintRgn
PtInRegion
RectInRegion
SetPolyFillMode

例子:我的代码。
with FCanvas do
....
if RoundConner then
begin
Rgn:=CreateRoundRectRgn(left, Top, Left+Width, Top+Height,
FRoundMargin, FRoundMargin);
selectObject(handle, Rgn);
SaveDc(handle);
end;
....
 
后退
顶部