aiMapRsts.CreateRst

Previous Top Next

aiMapRsts

 

Создать растровую карту.

 

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

   Palette: TxColorRef; ColorCount: Integer; Scale, Precision: Double) : integer;

 

Описание:

Создает растр с именем RstFileName со следующими характеристиками:

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

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

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

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

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

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

 

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

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

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

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

Пример

 

Паскаль

 

procedure CreateMyRaster;

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

   RstHandle : integer;

begin

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

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

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

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

 RstHandle := aiMatRsts1.CreateRst('C:\Map\Podolsk.rst', 512,512, es32bit,

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

end;

 

Бейсик (Visual Studio 2005)

 

Public Sub CreateMyRaster(ByVal Rst As axGisToolKit.aiMapRsts)

  Dim Palette(256) As axGisToolKit.TuColorRef

  Dim RstHandle As Integer

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

  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.CreateRst("C:\Map\Podolsk.rst", 512, 512, 4, Palette(0).RGB, 256, 100000, 1)

End Sub

 

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

  CreateMyRaster(axcMapView1.MapRsts)

End Sub