吴 吴优 Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-06 #1 使用Brush.Style可以在region里填充斜线、网格等,可却不能调节斜线或网格的 间距,当region为文字且字体较小时,如果不缩小填充线的间距就看不清楚了,怎样 调节这间距呢?
L lld Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-07 #4 使用自定义Brush Pattern: var Bitmap: TBitmap; begin Bitmap := TBitmap.Create; try Bitmap.LoadFromFile('MyBitmap.bmp'); Form1.Canvas.Brush.Bitmap := Bitmap; Form1.Canvas.FillRect(Rect(0,0,100,100)); finally Form1.Canvas.Brush.Bitmap := nil; Bitmap.Free; end; end;
使用自定义Brush Pattern: var Bitmap: TBitmap; begin Bitmap := TBitmap.Create; try Bitmap.LoadFromFile('MyBitmap.bmp'); Form1.Canvas.Brush.Bitmap := Bitmap; Form1.Canvas.FillRect(Rect(0,0,100,100)); finally Form1.Canvas.Brush.Bitmap := nil; Bitmap.Free; end; end;
S shaofun Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-08 #6 用LLD的方法的话每种间距就得用一个bmp文件,那怎么得了啊 1.取得文字路径 BeginPath TextOut EndPath 2.路径转为区域 PathToRegion 3.在该区域内绘图 if PtInRegion then //判断点是否在区域内 SetPixel... //自定义算法绘制填充图
用LLD的方法的话每种间距就得用一个bmp文件,那怎么得了啊 1.取得文字路径 BeginPath TextOut EndPath 2.路径转为区域 PathToRegion 3.在该区域内绘图 if PtInRegion then //判断点是否在区域内 SetPixel... //自定义算法绘制填充图
I IamWLJ888 Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-10 #7 动态产生一个小的空位图,然后在空位图用Canvas.LineTo等等绘图语句画上你所需的Brush 再用LLD产生Brush的方法。
吴 吴优 Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-10 #8 用shaofun的方法问题已解决了,不过 SetPixel的速度有点... IamWLJ888的思路似乎不错,能具体点吗?比如怎样“用LLD产生Brush”呢?
S shaofun Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-10 #9 第3步改为 用SelectClipPath函数限制绘图区域,用LineTo绘制填充线,这样是不是快多了