⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mapxstyles.pas

📁 此代码是关于mapgis的在
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
  inherited;
  OleFont:= AStyle.TextFont;
  FName := OleFont.Name;
  FSize := OleFont.Size;
  FColor := AStyle.TextFontColor;
  FRotation := AStyle.TextFontRotation;
  FBgStyle:=fbgNone;
  if AStyle.TextFontHalo then
    FBgStyle:=fbgHalo
  else if AStyle.TextFontOpaque then
    FBgStyle:=fbgBox;
  FBackColor := AStyle.TextFontBackColor;
end;

procedure TFontStyleInfo.AssignFromFont(AFont: TFont);
var
  OleFont: Variant;
begin
  OleFont:=FontToOleFont(AFont);
  FName := OleFont.Name;
  FSize := OleFont.Size;
  FColor := AFont.Color;
end;

procedure TFontStyleInfo.ConfigToFont(AFont: TFont);
begin
  AFont.Name:=FName;
  AFont.Size:=FSize;
  AFont.Color:=FColor;
end;

procedure TFontStyleInfo.ConfigToStyle(AStyle: Style);
var
  OleFont: Variant;
begin
  inherited;
  OleFont:= AStyle.TextFont;
  OleFont.Name:=FName;
  OleFont.Size:=FSize;
  AStyle.TextFontColor:=FColor;
  AStyle.TextFontRotation:=FRotation;
  AStyle.TextFontHalo:=False;
  AStyle.TextFontOpaque:=False;
  case FBgStyle of
    fbgHalo: AStyle.TextFontHalo:=True;
    fbgBox:  AStyle.TextFontOpaque:=True;
  end;
  AStyle.TextFontBackColor:=FBackColor;
end;

constructor TFontStyleInfo.Create;
var
  mstyle:Style;
begin
  inherited;
  mstyle:=CoStyle.Create;
  Assign(mstyle);
  mstyle:=nil;
end;

function TFontStyleInfo.CreateStyleInterfaceObject: Style;
begin
  Result:=inherited CreateStyleInterfaceObject;
  ConfigToStyle(Result);
end;

procedure TFontStyleInfo.LoadFromStream(Stream: TStream);
begin
  inherited LoadFromStream(Stream);
  Size:=ReadInteger(Stream);
  Rotation:=ReadInteger(Stream);
  Color:=ReadInteger(Stream);
  BackColor:=ReadInteger(Stream);
  Name:=ReadString(Stream);
  BgStyle:=TFontBackgroundStyle(ReadInteger(Stream));
end;

procedure TFontStyleInfo.SaveToStream(Stream: TStream);
begin
  inherited SaveToStream(Stream);
  WriteInteger(Stream, Size);
  WriteInteger(Stream, Rotation);
  WriteInteger(Stream, Color);
  WriteInteger(Stream, BackColor);
  WriteString(Stream, Name);
  WriteInteger(Stream, Ord(BgStyle));
end;

{ TLineStyleInfo }

procedure TLineStyleInfo.Assign(AStyle: Style);
begin
  inherited;
  FLineColor:=AStyle.LineColor;
  FLineStyle:=AStyle.LineStyle;
  FLineWidthUnit:=AStyle.LineWidthUnit;
  FLineWidth:=AStyle.LineWidth;
  FLineInterleaved:=AStyle.LineInterleaved;
end;

procedure TLineStyleInfo.ConfigToStyle(AStyle: Style);
begin
  inherited;
  AStyle.LineColor:=FLineColor;
  AStyle.LineStyle:=FLineStyle;
  AStyle.LineWidthUnit:=FLineWidthUnit;
  AStyle.LineWidth:=FLineWidth;
  AStyle.LineInterleaved:=FLineInterleaved;
end;

constructor TLineStyleInfo.Create;
var
  mstyle:Style;
begin
  inherited;
  mstyle:=CoStyle.Create;
  Assign(mstyle);
  mstyle:=nil;
end;

function TLineStyleInfo.CreateStyleInterfaceObject: Style;
begin
  Result:=inherited CreateStyleInterfaceObject;
  ConfigToStyle(Result);
end;


procedure TLineStyleInfo.LoadFromStream(Stream: TStream);
begin
  inherited LoadFromStream(Stream);
  LineColor:=ReadInteger(Stream);
  LineWidth:=ReadInteger(Stream);
  LineStyle:=ReadInteger(Stream);
  LineWidthUnit:=ReadInteger(Stream);
  LineInterleaved:=ReadBoolean(Stream);
end;

procedure TLineStyleInfo.SaveToStream(Stream: TStream);
begin
  inherited SaveToStream(Stream);
  WriteInteger(Stream, LineColor);
  WriteInteger(Stream, LineWidth);
  WriteInteger(Stream, LineStyle);
  WriteInteger(Stream, LineWidthUnit);
  WriteBoolean(Stream, LineInterleaved);
end;

{ TSymbolBitmapStyleInfo }

procedure TSymbolBitmapStyleInfo.Assign(AStyle: Style);
begin
  inherited;
  FBitmapTransparent:=AStyle.SymbolBitmapTransparent;
  FBitmapSize:=AStyle.SymbolBitmapSize;
  FBitmapName:=AStyle.SymbolBitmapName;
  FBitmapColor:=AStyle.SymbolBitmapColor;
  FBitmapOverrideColor:=AStyle.SymbolBitmapOverrideColor;
end;

procedure TSymbolBitmapStyleInfo.ConfigToStyle(AStyle: Style);
begin
  inherited;
  AStyle.SymbolType := miSymbolTypeBitmap;
  AStyle.SymbolBitmapSize := FBitmapSize;
  AStyle.SymbolBitmapTransparent := FBitmapTransparent;
  AStyle.SymbolBitmapName := FBitmapName;
  AStyle.SymbolBitmapColor := FBitmapColor;
end;

constructor TSymbolBitmapStyleInfo.Create;
var
  mstyle:Style;
begin
  inherited;
  mstyle:=CoStyle.Create;
  Assign(mstyle);
  mstyle:=nil;
end;

function TSymbolBitmapStyleInfo.CreateStyleInterfaceObject: Style;
begin
  Result:=inherited CreateStyleInterfaceObject;
  ConfigToStyle(Result);
end;

procedure TSymbolBitmapStyleInfo.LoadFromStream(Stream: TStream);
begin
  inherited LoadFromStream(Stream);
  BitmapTransparent:=ReadBoolean(Stream);
  BitmapSize:=ReadInteger(Stream);
  BitmapName:=ReadString(Stream);
  BitmapColor:=ReadInteger(Stream);
  BitmapOverrideColor:=ReadBoolean(Stream);
end;

procedure TSymbolBitmapStyleInfo.SaveToStream(Stream: TStream);
begin
  inherited SaveToStream(Stream);
  WriteBoolean(Stream, BitmapTransparent);
  WriteInteger(Stream, BitmapSize);
  WriteString(Stream, BitmapName);
  WriteInteger(Stream, BitmapColor);
  WriteBoolean(Stream, BitmapOverrideColor);
end;

{ TSymbolFontStyleInfo }

procedure TSymbolFontStyleInfo.Assign(AStyle: Style);
var
  OleFont: Variant;
begin
  inherited;
  OleFont:= AStyle.TextFont;
  FName := OleFont.Name;
  FSize := OleFont.Size;
  FColor := AStyle.SymbolFontColor;
  FRotation := AStyle.SymbolFontRotation;
  FBgStyle:=fbgNone;
  if AStyle.SymbolFontHalo then
    FBgStyle:=fbgHalo
  else if AStyle.SymbolFontOpaque then
    FBgStyle:=fbgBox;
  FBackColor := AStyle.SymbolFontBackColor;
  FSymbolCharacter := AStyle.SymbolCharacter;
end;

procedure TSymbolFontStyleInfo.ConfigToStyle(AStyle: Style);
var
  OleFont: Variant;
begin
  inherited;
  AStyle.SymbolType := miSymbolTypeTrueTypeFont;
  OleFont:= AStyle.TextFont;
  OleFont.Name:=FName;
  OleFont.Size:=FSize;
  AStyle.SymbolFontColor:=FColor;
  AStyle.SymbolFontRotation:=FRotation;
  AStyle.SymbolFontHalo:=False;
  AStyle.SymbolFontOpaque:=False;
  case FBgStyle of
    fbgHalo: AStyle.SymbolFontHalo:=True;
    fbgBox:  AStyle.SymbolFontOpaque:=True;
  end;
  AStyle.SymbolFontBackColor:=FBackColor;
  AStyle.SymbolCharacter:=FSymbolCharacter;
end;

constructor TSymbolFontStyleInfo.Create;
var
  mstyle:Style;
begin
  inherited;
  mstyle:=CoStyle.Create;
  Assign(mstyle);
  mstyle:=nil;
end;

function TSymbolFontStyleInfo.CreateStyleInterfaceObject: Style;
begin
  Result:=inherited CreateStyleInterfaceObject;
  ConfigToStyle(Result);
end;

procedure TSymbolFontStyleInfo.LoadFromStream(Stream: TStream);
begin
  inherited LoadFromStream(Stream);
  SymbolCharacter:=ReadSmallint(Stream);
end;

procedure TSymbolFontStyleInfo.SaveToStream(Stream: TStream);
begin
  inherited SaveToStream(Stream);
  WriteSmallint(Stream, SymbolCharacter); 
end;

{ TRegionStyleInfo }

procedure TRegionStyleInfo.Assign(AStyle: Style);
begin
  inherited;
  FRegionColor:=AStyle.RegionColor;
  FRegionPattern:=AStyle.RegionPattern;
  FRegionBackColor:=AStyle.RegionBackColor;
  FRegionTransparent:=AStyle.RegionTransparent;
  FRegionBorderStyle:=AStyle.RegionBorderStyle;
  FRegionBorderColor:=AStyle.RegionBorderColor;
  FRegionBorderWidthUnit:=AStyle.RegionBorderWidthUnit;
  FRegionBorderWidth:=AStyle.RegionBorderWidth;
end;

procedure TRegionStyleInfo.ConfigToStyle(AStyle: Style);
begin
  inherited;
  AStyle.RegionColor:=FRegionColor;
  AStyle.RegionPattern:=FRegionPattern;
  AStyle.RegionBackColor:=FRegionBackColor;
  AStyle.RegionTransparent:=FRegionTransparent;
  AStyle.RegionBorderStyle:=FRegionBorderStyle;
  AStyle.RegionBorderColor:=FRegionBorderColor;
  AStyle.RegionBorderWidthUnit:=FRegionBorderWidthUnit;
  AStyle.RegionBorderWidth:=FRegionBorderWidth;
end;

constructor TRegionStyleInfo.Create;
var
  mstyle:Style;
begin
  inherited;
  mstyle:=CoStyle.Create;
  Assign(mstyle);
  mstyle:=nil;
end;

function TRegionStyleInfo.CreateStyleInterfaceObject: Style;
begin
  Result:=inherited CreateStyleInterfaceObject;
  ConfigToStyle(Result);
end;

procedure TRegionStyleInfo.LoadFromStream(Stream: TStream);
begin
  inherited;
  FRegionTransparent:=ReadBoolean(Stream);
  FRegionBorderWidthUnit:=ReadLongword(Stream);
  FRegionPattern:=ReadLongword(Stream);
  FRegionBorderStyle:=ReadLongword(Stream);
  FRegionBorderWidth:=ReadSmallint(Stream);
  FRegionColor:=ReadInteger(Stream);
  FRegionBackColor:=ReadInteger(Stream);
  FRegionBorderColor:=ReadInteger(Stream);
end;

procedure TRegionStyleInfo.SaveToStream(Stream: TStream);
begin
  inherited;
  WriteBoolean(Stream, FRegionTransparent);
  WriteLongword(Stream, FRegionBorderWidthUnit);
  WriteLongword(Stream, FRegionPattern);
  WriteLongword(Stream, FRegionBorderStyle);
  WriteSmallint(Stream, FRegionBorderWidth);
  WriteInteger(Stream, FRegionColor);
  WriteInteger(Stream, FRegionBackColor);
  WriteInteger(Stream, FRegionBorderColor);
end;

initialization
  StyleClasses.Add(TCustomStyleInfo);
  StyleClasses.Add(TSymbolVectorSytleInfo);
  StyleClasses.Add(TFontStyleInfo);
  StyleClasses.Add(TLineStyleInfo);
  StyleClasses.Add(TRegionStyleInfo);

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -