aiMapRsts.CreateAndAppendRst

Previous Top Next

aiMapRsts

 

Создать растровую карту и добавить ее в список открытых растров.

 

function CreateAndAppendRst(const RstFileName: WideString; WidthPix, HeightPix: Integer; BitsInPix: TxElementSizeBytes;

      Palette: TxColorRef; ColorCount: Integer; Scale, precision: Double; Location: TxDoublePoint): Integer;

 

Описание:

Создает растр с именем RstFileName и добавляет его в конец списка открытых растровых карт со следующими характеристиками:

WidthPix, HeightPix        Ширина и высота растра в точках;

BitsInPix                размер элемента создаваемого растра (бит на пиксель);

palette                указатель на первый элемент палитры в памяти;

colorcount                количество цветов в палитре растра;

scale                        знаменатель масштаба создаваемого растра;

precision                разрешение создаваемого растра;

location                привязка юго-западного угла растра в районе (в метрах).

Возвращает порядковый номер созданной растровой карты. При ошибке возвращает ноль.

 

Особенность создания растров

1. Параметр BitsInPix - должен принимать значения указанны в описании типа TxElementSizeBytes

2. Передача палитры цветов осуществляется передачей в параметр Palette первого элемента массива.

Пример

 

Паскаль

 

procedure CreateMyRaster;

var Palette   : array[0..255] of TxColorRef;

   RstHandle : integer;

   Location  : TxDoublePoint;

begin

 // установка точки

 Location.X:=6166500; Location.Y:=7412270;

 // заполняем палитру цветами

 Palette[0]:=clBlack; Palette[1]:=clRed;    Palette[2]:=clGreen;

 Palette[3]:=clBlue;  Palette[4]:=clYellow; Palette[5]:=clGray;

 // и так далее .......

 RstHandle := aiMatRsts1.CreateAndAppendRst('C:\Map\Podolsk.rst', 256,256, es32bit,

     @Palette[0], 256, 100000, 1, Location);

 

end;

 

Бейсик

 

Public Sub CreateMyRaster(ByVal Rst As axGisToolKit.aiMapRsts)

  Dim Palette(256) As axGisToolKit.TuColorRef

  Dim RstHandle As Integer

  Dim Location As axGisToolKit.TxDoublePoint

  ' установка точки

  Location.X = 6166500

  Location.Y = 7412270

  ' заполняем палитру цветами

  Palette(0).Value = &H0 : Palette(1).Value = &HFF : Palette(2).Value = &HFF00

  Palette(3).Value = &HFF0000 : Palette(4).Value = &HFFFF : Palette(5).Value = &HC0C0C0

  ' и так далее .......

  RstHandle = Rst.CreateAndAppendRst("C:\Map\Podolsk.rst", 256, 256, 4, Palette(0).RGB, 256, 100000, 1, Location)

End Sub

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

  CreateMyRaster(axcMapView1.MapRsts)

End Sub