RevitAPI: Document.ExportImage导出文件格式并不都是.png,即便设置了HLRandWFViewsFileType为ImageFileType.PNG

RevitAPI有导出图片的功能,那就是使用Document.ExportImage方法,一个实际的例子如下

FilteredElementCollector FEC_Views = new FilteredElementCollector(OpenDoc).OfClass(typeof(View));
FEC_Views.OfCategory(BuiltInCategory.OST_Views);
StringBuilder sb = new StringBuilder();
foreach (View View in FEC_Views)
{
    if (View.IsTemplate) continue;
    IList<ElementId> ImageExportList = new List<ElementId>();
    ImageExportList.Clear();
    ImageExportList.Add(View.Id);
    var NewViewName = View.Name.ToString().Replace(".", "-");
    var BilledeExportOptions_3D_PNG = new ImageExportOptions
    {
        ZoomType = ZoomFitType.FitToPage,
        PixelSize = 2024,
        FilePath = ParentFolder + @"\" + NewViewName,
        FitDirection = FitDirectionType.Horizontal,
        HLRandWFViewsFileType = ImageFileType.PNG,
        ImageResolution = ImageResolution.DPI_600,
        ExportRange = ExportRange.SetOfViews,
    };

    BilledeExportOptions_3D_PNG.SetViewsAndSheets(ImageExportList);
    try
    {
        OpenDoc.ExportImage(BilledeExportOptions_3D_PNG);
    }
    catch (Exception ex)
    {
        sb.AppendLine(View.Id.ToString());
        sb.AppendLine(ex.ToString());
    }
}
运行该程序会把所有支持导出的视图都导出为.PNG文件。

一般情况下,都能正确按照期望导出。但是,有些文件却导出了一些.JPG文件,不是已经通过HLRandWFViewsFileType = ImageFileType.PNG设置好了导出格式是PNG吗?



原来格式设置包含两方面:1.隐藏线和线框设置,通过HLRandWFViewsFileType 2.阴影设置,通过ShadowViewsFileType。
那么改进的方法就是把ShadowViewsFileType也设置成.PNG:

    var BilledeExportOptions_3D_PNG = new ImageExportOptions
    {
        ZoomType = ZoomFitType.FitToPage,
        PixelSize = 2024,
        FilePath = ParentFolder + @"\" + NewViewName,
        FitDirection = FitDirectionType.Horizontal,
        HLRandWFViewsFileType = ImageFileType.PNG,
        ShadowViewsFileType = ImageFileType.PNG,
        ImageResolution = ImageResolution.DPI_600,
        ExportRange = ExportRange.SetOfViews,
    };



  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值