zoukankan      html  css  js  c++  java
  • Delphi版 ArcEngine 10种格式地图输出方法

     1function ExportMapToFile(pActiveView: IActiveView; filetypes: FileType; fileName: string): Boolean;
     2var
     3  pExport: IExport;
     4  iOutputResolution: SmallInt;
     5  iScreenResolution: SmallInt;
     6  exportRect: tagRECT;
     7  pPixelBounds: IEnvelope;
     8  hdc: Integer;
     9
    10  pExportPdf: IExportPDF;
    11begin
    12  case filetypes of
    13    ftBmp: pExport := CoExportBMP.Create as IExport;
    14    ftGif: pExport := CoExportGIF.Create as IExport;
    15    ftJpg: pExport := CoExportJPEG.Create as IExport;
    16    ftSvg: pExport := CoExportSVG.Create as IExport;
    17    ftEps: pExport := CoExportPS.Create as IExport;
    18    ftPng: pExport := CoExportPNG.Create as IExport;
    19    ftEmf: pExport := CoExportEMF.Create as IExport;
    20    ftAI: pExport := CoExportAI.Create as IExport;
    21    ftTif: pExport := CoExportTiff.Create as IExport;
    22    ftPdf:
    23      begin
    24        pExport := CoExportPdf.Create as IExport;
    25        pExportPdf := pExport as IExportPDF;
    26        pExportPdf.EmbedFonts := True;
    27        pExportPdf.ImageCompression := esriExportImageCompressionLZW;
    28        pExportPdf.Compressed := True;
    29      end;
    30  end;
    31
    32  if Length(fileName) = 0 then
    33  begin
    34    Result := False;
    35    Exit;
    36  end;
    37
    38  pExport.ExportFileName := fileName;
    39  iScreenResolution := 96;
    40  iOutputResolution := 300;
    41
    42  pPixelBounds := CoEnvelope.Create as IEnvelope;
    43  exportRect.left := 0;
    44  exportRect.top := 0;
    45  exportRect.right := pActiveView.ExportFrame.right * Round(iOutputResolution / iScreenResolution);
    46  exportRect.bottom := pActiveView.ExportFrame.bottom * Round(iOutputResolution / iScreenResolution);
    47
    48  pPixelBounds.PutCoords(exportRect.left, exportRect.top, exportRect.right, exportRect.bottom);
    49
    50  pExport.PixelBounds := pPixelBounds;
    51
    52  hdc := pExport.StartExporting;
    53  pActiveView.Output(hdc, Round(pExport.Resolution), exportRect, pActiveView.Extent, nil);
    54  pExport.FinishExporting;
    55  pExport.Cleanup;
    56  Result := True;
    57end;
  • 相关阅读:
    应该选取表中哪些字段作为索引?
    maven聚合(依赖聚合)
    maven(1)
    maven打包记录1
    tomcat 日志(2)
    tomcat日志(1)
    存储过程
    EXISTS的用法介绍
    学习笔记-移动设备的处理器指令集 armv6 armv7 armv7s arm64
    学习笔记-nil NULL NSNull Nil的区别
  • 原文地址:https://www.cnblogs.com/chinacodegear/p/1411685.html
Copyright © 2011-2022 走看看