阅读:1882回复:3
改变图元大小出错
各位大虾,我写了一个改变图元的简易程序,但是会出错,请问谁知道原因?
procedure TForm1.Button1Click(Sender: TObject); var ftrs:mapxlib_tlb.features; ftr:mapxlib_tlb.feature; lyr:mapxlib_tlb.layer; vl_style : mapxlib_tlb.style; name1:string; begin lyr:=Map1.Layers.Item('无标题'); ftrs:=lyr.AllFeatures; ftr:=ftrs.Item(2); name1:=ftr.Style.SymbolBitmapName; vl_style := costyle.Create; //由于直接用style无法改变图元大小,所以听取高手意见用自建的变量试试看,再复制回去 vl_style.SymbolType := miSymbolTypeBitmap; vl_style.SymbolBitmapTransparent := true; //这有什么用?? vl_style.SymbolBitmapName := name1 ; vl_style.SymbolBitmapSize:= 50; ftr.Style := vl_style.Clone; //到了这里就会出错,好像说是超出mapx的控减范围 ftr.Update(EmptyParam,EmptyParam); end; |
|
1楼#
发布于:2003-12-09 15:27
下面是创建一个自定义BMP符号的代码(可以参考):转echo2003
Dim f4 As New MapXLib.Feature f4.Attach Map1 f4.Style.SymbolType = miSymbolTypeBitmap f4.Style.SymbolBitmapColor = miColorGreen f4.Style.SymbolBitmapName = "GLOB1-32.BMP" f4.Style.SymbolBitmapSize = 24 f4.Point.Set f4.CenterX, f4.CenterY pt.Set x, y Set f4 = Map1.FeatureFactory.CreateSymbol(pt, ftr) Map1.Layers.Item("11_jh_BOUND").AddFeature f4 [此贴子已经被作者于2003-12-9 15:28:35编辑过]
|
|
2楼#
发布于:2003-12-09 16:08
vl_style.SymbolBitmapSize:= 50;
这句话有错误!最大是48,你写成50,当然会抱错了! |
|
3楼#
发布于:2003-12-11 08:23
对就是这个错,现在终于搞定了!谢谢!
|
|
4楼#
发布于:2003-12-11 08:32
搞定就好!
|
|