Beispiel #1
0
        public override void WriteCustomNonSharedItemProps(BinaryWriter spbifWriter, RPLWriter rplWriter, PageContext pageContext)
        {
            AspNetCore.ReportingServices.OnDemandReportRendering.Image image = (AspNetCore.ReportingServices.OnDemandReportRendering.Image)base.m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            System.Drawing.Image image2 = null;
            bool flag = this.AutoSizeImage(pageContext, imageInstance, out image2);

            try
            {
                if (flag)
                {
                    base.WriteImage(null, "InvalidImage", spbifWriter, pageContext, image2);
                }
                else
                {
                    base.WriteImage(imageInstance, null, spbifWriter, pageContext, image2);
                }
            }
            finally
            {
                if (image2 != null)
                {
                    image2.Dispose();
                    image2 = null;
                }
            }
            base.WriteActionInfo(image.ActionInfo, spbifWriter, pageContext, 7);
            base.WriteImageMapAreaInstanceCollection(imageInstance.ActionInfoWithDynamicImageMapAreas, spbifWriter, pageContext);
        }
Beispiel #2
0
        internal override void WriteCustomNonSharedItemProps(BinaryWriter spbifWriter, RPLWriter rplWriter, PageContext pageContext)
        {
            Microsoft.ReportingServices.OnDemandReportRendering.Image image = (Microsoft.ReportingServices.OnDemandReportRendering.Image)m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            System.Drawing.Image gdiImage = null;
            bool flag = AutoSizeImage(pageContext, imageInstance, out gdiImage);

            try
            {
                if (flag)
                {
                    WriteImage(null, "InvalidImage", spbifWriter, pageContext, gdiImage);
                }
                else
                {
                    WriteImage(imageInstance, null, spbifWriter, pageContext, gdiImage);
                }
            }
            finally
            {
                if (gdiImage != null)
                {
                    gdiImage.Dispose();
                    gdiImage = null;
                }
            }
            WriteActionInfo(image.ActionInfo, spbifWriter, pageContext, 7);
            WriteImageMapAreaInstanceCollection(imageInstance.ActionInfoWithDynamicImageMapAreas, spbifWriter, pageContext);
        }
        /// <summary>
        /// Collect the parameters and export
        /// </summary>
        /// <returns></returns>
        public override bool Import()
        {
            using (Transaction t = new Transaction(m_activeDoc))
            {
                t.SetName("Import");
                t.Start();

                // Step 1: Create an ImageType
                //ImageTypeOptions specify the source of the image
                // If the source is a PDF file then ImageTypeOptions can be used to:
                //   - Select a specific page from the PDF
                //   - Select a Resolution (in dots-per-inch) at which to rasterize the PDF
                // For other image types the page number should be 1, and the resolution is only used to determine the size of the image

                ImageTypeOptions typeOptions = new ImageTypeOptions(m_importFileFullName);
                ImageType        imageType   = ImageType.Create(m_activeDoc, typeOptions);

                // Step 2: Create an ImageInstance, but only if the active view is able to contain images.
                View view = CommandData.Application.ActiveUIDocument.Document.ActiveView;
                if (ImageInstance.IsValidView(view))
                {
                    // ImagePlacementOptions
                    ImagePlacementOptions placementOptions = new ImagePlacementOptions();
                    placementOptions.PlacementPoint = Autodesk.Revit.DB.BoxPlacement.TopLeft;
                    placementOptions.Location       = new XYZ(1, 1, 1);

                    ImageInstance imageInstance = ImageInstance.Create(m_activeDoc, view, imageType.Id, placementOptions);
                }

                t.Commit();
            }

            return(true);
        }
Beispiel #4
0
        public void WriteToStream(Type type, object value, Stream stream, HttpContent content)
        {
            ImageInstance imageinst = (ImageInstance)value;
            WebClient     client    = new WebClient();


            //image.Save(stream, ImageFormat.Jpeg); image.Dispose();
        }
Beispiel #5
0
            public SkryptInstance Construct(int width, int height)
            {
                var obj = new ImageInstance(Engine, width, height);

                obj.GetProperties(Template);
                obj.TypeObject = this;

                return(obj);
            }
Beispiel #6
0
 private void CheckAutoSize(Microsoft.ReportingServices.OnDemandReportRendering.Image image, PageContext pageContext)
 {
     if (image.Sizing == Microsoft.ReportingServices.OnDemandReportRendering.Image.Sizings.AutoSize)
     {
         ImageInstance        imageInstance = (ImageInstance)image.Instance;
         System.Drawing.Image gdiImage      = null;
         m_invalidImage = AutoSizeImage(pageContext, imageInstance, out gdiImage);
         if (gdiImage != null)
         {
             m_imageProps = new GDIImageProps(gdiImage);
             gdiImage.Dispose();
         }
     }
 }
 private void CheckAutoSize(AspNetCore.ReportingServices.OnDemandReportRendering.Image image, PageContext pageContext)
 {
     if (image.Sizing == AspNetCore.ReportingServices.OnDemandReportRendering.Image.Sizings.AutoSize)
     {
         ImageInstance        imageInstance = (ImageInstance)image.Instance;
         System.Drawing.Image image2        = null;
         this.m_invalidImage = this.AutoSizeImage(pageContext, imageInstance, out image2);
         if (image2 != null)
         {
             this.m_imageProps = new GDIImageProps(image2);
             image2.Dispose();
         }
     }
 }
Beispiel #8
0
        internal override void WriteCustomNonSharedItemProps(RPLElementProps nonSharedProps, PageContext pageContext)
        {
            Microsoft.ReportingServices.OnDemandReportRendering.Image image = (Microsoft.ReportingServices.OnDemandReportRendering.Image)m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;
            RPLImageProps rPLImageProps = (RPLImageProps)nonSharedProps;

            if (m_invalidImage)
            {
                WriteInvalidImage(rPLImageProps, pageContext, m_imageProps);
            }
            else
            {
                WriteImage(imageInstance, null, rPLImageProps, pageContext, m_imageProps);
            }
            rPLImageProps.ActionInfo = PageItem.WriteActionInfo(image.ActionInfo);
        }
        public override void WriteCustomNonSharedItemProps(RPLElementProps nonSharedProps, PageContext pageContext)
        {
            AspNetCore.ReportingServices.OnDemandReportRendering.Image image = (AspNetCore.ReportingServices.OnDemandReportRendering.Image)base.m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;
            RPLImageProps rPLImageProps = (RPLImageProps)nonSharedProps;

            if (this.m_invalidImage)
            {
                base.WriteInvalidImage(rPLImageProps, pageContext, this.m_imageProps);
            }
            else
            {
                base.WriteImage(imageInstance, null, rPLImageProps, pageContext, this.m_imageProps);
            }
            rPLImageProps.ActionInfo = PageItem.WriteActionInfo(image.ActionInfo);
        }
Beispiel #10
0
        public override void WriteCustomNonSharedItemProps(BinaryWriter spbifWriter, PageContext pageContext)
        {
            AspNetCore.ReportingServices.OnDemandReportRendering.Image image = (AspNetCore.ReportingServices.OnDemandReportRendering.Image)base.m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            if (this.m_invalidImage)
            {
                if (base.m_nonSharedOffset < 0)
                {
                    base.WriteInvalidImage(spbifWriter, pageContext, this.m_imageProps);
                }
            }
            else
            {
                base.WriteImage(imageInstance, null, spbifWriter, pageContext, this.m_imageProps, false);
            }
            base.WriteActionInfo(image.ActionInfo, spbifWriter);
        }
Beispiel #11
0
        internal static string SharedImageStreamName(Microsoft.ReportingServices.OnDemandReportRendering.Image image, PageContext pageContext)
        {
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            System.Drawing.Image gdiImage = null;
            bool num = new Image(image, pageContext, createForRepeat: false).AutoSizeImage(pageContext, imageInstance, out gdiImage);

            if (gdiImage != null)
            {
                gdiImage.Dispose();
                gdiImage = null;
            }
            if (num)
            {
                return("InvalidImage");
            }
            return(imageInstance?.StreamName);
        }
Beispiel #12
0
        internal override void WriteCustomNonSharedItemProps(BinaryWriter spbifWriter, PageContext pageContext)
        {
            Microsoft.ReportingServices.OnDemandReportRendering.Image image = (Microsoft.ReportingServices.OnDemandReportRendering.Image)m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            if (m_invalidImage)
            {
                if (m_nonSharedOffset < 0)
                {
                    WriteInvalidImage(spbifWriter, pageContext, m_imageProps);
                }
            }
            else
            {
                WriteImage(imageInstance, null, spbifWriter, pageContext, m_imageProps, writeShared: false);
            }
            WriteActionInfo(image.ActionInfo, spbifWriter);
        }
Beispiel #13
0
        internal override void WriteCustomNonSharedItemProps(RPLElementProps nonSharedProps, RPLWriter rplWriter, PageContext pageContext)
        {
            Microsoft.ReportingServices.OnDemandReportRendering.Image image = (Microsoft.ReportingServices.OnDemandReportRendering.Image)m_source;
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            System.Drawing.Image gdiImage      = null;
            RPLImageProps        rPLImageProps = (RPLImageProps)nonSharedProps;

            if (AutoSizeImage(pageContext, imageInstance, out gdiImage))
            {
                WriteImage(null, "InvalidImage", rPLImageProps, pageContext, gdiImage);
            }
            else
            {
                WriteImage(imageInstance, null, rPLImageProps, pageContext, gdiImage);
            }
            rPLImageProps.ActionInfo          = WriteActionInfo(image.ActionInfo, pageContext);
            rPLImageProps.ActionImageMapAreas = WriteImageMapAreaInstanceCollection(imageInstance.ActionInfoWithDynamicImageMapAreas, pageContext);
        }
Beispiel #14
0
        /// <summary>
        /// Collect the parameters and export
        /// </summary>
        /// <returns></returns>
        public override bool Import()
        {
            using (Transaction t = new Transaction(m_activeDoc))
            {
                t.SetName("Import");
                t.Start();

                // Step 1: Create an ImageType
                //ImageTypeOptions specifies the source of the image, and how to create the ImageType.
                // It can be used to specify:
                //   - The image file.  Either as a local file path, or as an ExternalResourceRef
                //   - Whether to store the local file path as an absolute path or a relative path.
                //   - Whether to create an Import or a Link image.
                // In addition, if the source is a PDF file, then ImageTypeOptions can be used to specify:
                //   - which page from the PDF to use
                //   - the resolution (in dots-per-inch) at which to rasterize the PDF
                // For other image types the page number should be 1 (the default),
                // and the resolution is only used to determine the size of the image.

                ImageTypeOptions typeOptions = new ImageTypeOptions(m_importFileFullName, true, ImageTypeSource.Import);
                ImageType        imageType   = ImageType.Create(m_activeDoc, typeOptions);

                // Step 2: Create an ImageInstance, but only if the active view is able to contain images.
                View view = CommandData.Application.ActiveUIDocument.Document.ActiveView;
                if (ImageInstance.IsValidView(view))
                {
                    // ImagePlacementOptions
                    ImagePlacementOptions placementOptions = new ImagePlacementOptions();
                    placementOptions.PlacementPoint = Autodesk.Revit.DB.BoxPlacement.TopLeft;
                    placementOptions.Location       = new XYZ(1, 1, 1);

                    ImageInstance imageInstance = ImageInstance.Create(m_activeDoc, view, imageType.Id, placementOptions);
                }

                t.Commit();
            }

            return(true);
        }
Beispiel #15
0
        public static string SharedImageStreamName(AspNetCore.ReportingServices.OnDemandReportRendering.Image image, PageContext pageContext)
        {
            ImageInstance imageInstance = (ImageInstance)image.Instance;

            System.Drawing.Image image2 = null;
            Image image3 = new Image(image, pageContext, false);
            bool  flag   = image3.AutoSizeImage(pageContext, imageInstance, out image2);

            if (image2 != null)
            {
                image2.Dispose();
                image2 = null;
            }
            if (flag)
            {
                return("InvalidImage");
            }
            if (imageInstance != null)
            {
                return(imageInstance.StreamName);
            }
            return(null);
        }
        internal bool RegisterItem(PageItem pageItem, PageContext pageContext)
        {
            if (m_itemFound || pageItem == null)
            {
                return(false);
            }
            switch (m_eventType)
            {
            case EventType.Collect:
            {
                ReportItemInstance instance5 = pageItem.Source.Instance;
                if (pageContext.Labels != null)
                {
                    pageContext.Labels.WriteDocMapLabel(instance5);
                }
                if (pageContext.Bookmarks != null)
                {
                    pageContext.Bookmarks.WriteBookmark(instance5);
                }
                if (pageContext.PageBookmarks != null)
                {
                    pageContext.RegisterPageBookmark(instance5);
                }
                if (pageItem.ItemState != PageItem.State.OnPageHidden)
                {
                    return(false);
                }
                break;
            }

            case EventType.BookmarkNavigationEvent:
            {
                ReportItemInstance instance2 = pageItem.Source.Instance;
                if (instance2.Bookmark != null && SPBProcessing.CompareWithOrdinalComparison(m_bookmarkId, instance2.Bookmark, ignoreCase: false) == 0)
                {
                    m_itemFound = true;
                    m_itemInfo  = instance2.UniqueName;
                    return(false);
                }
                if (pageItem.ItemState != PageItem.State.OnPageHidden)
                {
                    return(false);
                }
                break;
            }

            case EventType.DrillthroughEvent:
            {
                ReportItemInstance instance        = pageItem.Source.Instance;
                TextBoxInstance    textBoxInstance = instance as TextBoxInstance;
                if (textBoxInstance != null)
                {
                    Microsoft.ReportingServices.OnDemandReportRendering.TextBox textBox = (Microsoft.ReportingServices.OnDemandReportRendering.TextBox)pageItem.Source;
                    if (!HasMatchingDrillthrough(textBox.ActionInfo))
                    {
                        foreach (ParagraphInstance paragraphInstance in textBoxInstance.ParagraphInstances)
                        {
                            foreach (TextRunInstance textRunInstance in paragraphInstance.TextRunInstances)
                            {
                                Microsoft.ReportingServices.OnDemandReportRendering.TextRun definition = textRunInstance.Definition;
                                if (HasMatchingDrillthrough(definition.ActionInfo))
                                {
                                    return(false);
                                }
                            }
                        }
                    }
                }
                else
                {
                    ImageInstance imageInstance = instance as ImageInstance;
                    if (imageInstance != null)
                    {
                        if (!HasMatchingDrillthrough(imageInstance.ActionInfoWithDynamicImageMapAreas))
                        {
                            Microsoft.ReportingServices.OnDemandReportRendering.Image image = (Microsoft.ReportingServices.OnDemandReportRendering.Image)pageItem.Source;
                            HasMatchingDrillthrough(image.ActionInfo);
                        }
                    }
                    else
                    {
                        IDynamicImageInstance dynamicImageInstance = instance as IDynamicImageInstance;
                        if (dynamicImageInstance != null)
                        {
                            ActionInfoWithDynamicImageMapCollection actionImageMaps;
                            using (dynamicImageInstance.GetImage(DynamicImageInstance.ImageType.PNG, out actionImageMaps))
                            {
                            }
                            HasMatchingDrillthrough(actionImageMaps);
                        }
                    }
                }
                if (m_itemFound)
                {
                    return(false);
                }
                if (pageItem.ItemState != PageItem.State.OnPageHidden)
                {
                    return(false);
                }
                break;
            }

            case EventType.DocumentMapNavigationEvent:
            {
                ReportItemInstance instance3 = pageItem.Source.Instance;
                if (SPBProcessing.CompareWithOrdinalComparison(m_itemInfo, instance3.UniqueName, ignoreCase: true) == 0)
                {
                    m_itemFound = true;
                    return(false);
                }
                if (pageItem.ItemState != PageItem.State.OnPageHidden)
                {
                    return(false);
                }
                break;
            }

            case EventType.GetDocumentMap:
            {
                ReportItemInstance instance4 = pageItem.Source.Instance;
                if (pageContext.Labels != null)
                {
                    pageContext.Labels.WriteDocMapLabel(instance4);
                }
                if (pageItem.ItemState != PageItem.State.OnPageHidden)
                {
                    return(false);
                }
                break;
            }

            case EventType.FindChart:
            {
                if (pageItem.ItemState == PageItem.State.OnPageHidden)
                {
                    break;
                }
                ReportItem source2 = pageItem.Source;
                if (SPBProcessing.CompareWithOrdinalComparison(m_itemInfo, source2.Instance.UniqueName, ignoreCase: true) == 0)
                {
                    m_itemFound = true;
                    ChartInstance chartInstance2 = source2.Instance as ChartInstance;
                    if (chartInstance2 != null)
                    {
                        WriteDynamicImageStream(chartInstance2.GetImage());
                    }
                }
                break;
            }

            case EventType.FindGaugePanel:
            {
                if (pageItem.ItemState == PageItem.State.OnPageHidden)
                {
                    break;
                }
                ReportItem source3 = pageItem.Source;
                if (SPBProcessing.CompareWithOrdinalComparison(m_itemInfo, source3.Instance.UniqueName, ignoreCase: true) == 0)
                {
                    m_itemFound = true;
                    GaugePanelInstance gaugePanelInstance2 = source3.Instance as GaugePanelInstance;
                    if (gaugePanelInstance2 != null)
                    {
                        WriteDynamicImageStream(gaugePanelInstance2.GetImage());
                    }
                }
                break;
            }

            case EventType.FindMap:
            {
                if (pageItem.ItemState == PageItem.State.OnPageHidden)
                {
                    break;
                }
                ReportItem source5 = pageItem.Source;
                if (SPBProcessing.CompareWithOrdinalComparison(m_itemInfo, source5.Instance.UniqueName, ignoreCase: true) == 0)
                {
                    m_itemFound = true;
                    MapInstance mapInstance2 = source5.Instance as MapInstance;
                    if (mapInstance2 != null)
                    {
                        WriteDynamicImageStream(mapInstance2.GetImage());
                    }
                }
                break;
            }

            case EventType.FindImage:
            {
                if (pageItem.ItemState == PageItem.State.OnPageHidden)
                {
                    break;
                }
                ReportItem source4 = pageItem.Source;
                if (SPBProcessing.CompareWithOrdinalComparison(m_itemInfo, source4.Instance.UniqueName, ignoreCase: true) != 0)
                {
                    break;
                }
                m_itemFound = true;
                ImageInstance imageInstance2 = source4.Instance as ImageInstance;
                if (imageInstance2 != null)
                {
                    Stream stream3   = m_createAndRegisterStream(m_streamName, string.Empty, null, imageInstance2.MIMEType, willSeek: false, StreamOper.CreateAndRegister);
                    byte[] imageData = imageInstance2.ImageData;
                    if (stream3 != null && imageData != null && imageData.Length != 0)
                    {
                        stream3.Write(imageData, 0, imageData.Length);
                    }
                }
                break;
            }

            case EventType.ImageConsolidation:
            {
                if (pageItem.ItemState == PageItem.State.OnPageHidden)
                {
                    break;
                }
                ReportItem         source             = pageItem.Source;
                GaugePanelInstance gaugePanelInstance = source.Instance as GaugePanelInstance;
                Stream             stream             = null;
                if (gaugePanelInstance != null)
                {
                    stream = gaugePanelInstance.GetImage();
                }
                else
                {
                    ChartInstance chartInstance = source.Instance as ChartInstance;
                    if (chartInstance != null)
                    {
                        stream = chartInstance.GetImage();
                    }
                    else
                    {
                        MapInstance mapInstance = source.Instance as MapInstance;
                        if (mapInstance != null)
                        {
                            stream = mapInstance.GetImage();
                        }
                    }
                }
                if (stream != null)
                {
                    ImageConsolidation imageConsolidation = pageContext.ImageConsolidation;
                    imageConsolidation.AppendImage(stream);
                    if (imageConsolidation.CurrentOffset >= imageConsolidation.IgnoreOffsetTill + 1 && imageConsolidation.ImageInfos.Count > 0)
                    {
                        m_itemFound = true;
                    }
                }
                break;
            }

            default:
                FindTextBox(pageItem as TextBox, pageContext);
                break;
            }
            return(true);
        }
Beispiel #17
0
        private bool AutoSizeImage(PageContext pageContext, ImageInstance imageInstance, out System.Drawing.Image gdiImage)
        {
            gdiImage = null;
            bool result = false;
            AutosizeImageProps autosizeImageProps = null;

            this.m_streamName = imageInstance.StreamName;
            if (this.m_streamName != null)
            {
                Hashtable hashtable = pageContext.AutoSizeSharedImages;
                if (hashtable != null)
                {
                    autosizeImageProps = (AutosizeImageProps)hashtable[this.m_streamName];
                    if (autosizeImageProps != null)
                    {
                        this.GetPaddings(pageContext);
                        return(autosizeImageProps.InvalidImage);
                    }
                }
                autosizeImageProps = new AutosizeImageProps();
                if (hashtable == null)
                {
                    hashtable = (pageContext.AutoSizeSharedImages = new Hashtable());
                }
                hashtable.Add(this.m_streamName, autosizeImageProps);
            }
            else
            {
                autosizeImageProps = new AutosizeImageProps();
            }
            byte[] array = imageInstance.ImageData;
            if (array != null)
            {
                try
                {
                    MemoryStream stream = new MemoryStream(array, false);
                    gdiImage = System.Drawing.Image.FromStream(stream);
                    if (gdiImage != null)
                    {
                        ((Bitmap)gdiImage).SetResolution((float)pageContext.DpiX, (float)pageContext.DpiY);
                    }
                }
                catch
                {
                    array = null;
                }
            }
            if (array == null)
            {
                gdiImage = (Bitmap)HPBProcessing.HPBResourceManager.GetObject("InvalidImage");
                result   = true;
                autosizeImageProps.InvalidImage = true;
            }
            if (gdiImage != null)
            {
                this.GetPaddings(pageContext);
                autosizeImageProps.Width  = gdiImage.Width;
                autosizeImageProps.Height = gdiImage.Height;
            }
            return(result);
        }
Beispiel #18
0
        public Result Execute(
            ExternalCommandData commandData,
            ref string message,
            ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument    uidoc = uiapp.ActiveUIDocument;
            Application   app   = uiapp.Application;
            Document      doc   = uidoc.Document;

            string Path          = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string ImageFileName = "GitHub\\TokyoAECIndustryDevGroup-Revit\\TokyoAECDev.extension\\TokyoAECDev.tab\\cstest.panel\\OgreCall.pushbutton\\Image\\Ogre.jpg";

            string ImagePath = Path + "\\" + ImageFileName;

            ImagePlacementOptions Opt = new ImagePlacementOptions();

            // Create View

            ViewSheet vs = null;

            using (Transaction tx = new Transaction(doc))
            {
                tx.Start("Create View");
                vs      = ViewSheet.Create(doc, ElementId.InvalidElementId);
                vs.Name = "Ogre";
                ImageType     IT           = ImageType.Create(doc, ImagePath);
                ImageInstance ImageonSheet = ImageInstance.Create(doc, vs, IT.Id, Opt);

                Guid   schemaGuid = new Guid("67DA32DE-E851-4DAD-B5EA-5450897DBFF0");
                Schema schema     = Schema.Lookup(schemaGuid);

                if (schema == null)
                {
                    SchemaBuilder schemaBuilder = new SchemaBuilder(schemaGuid);

                    schemaBuilder.SetReadAccessLevel(AccessLevel.Public);
                    schemaBuilder.SetWriteAccessLevel(AccessLevel.Public);
                    schemaBuilder.SetVendorId("TokyoAECIndustryDevGroup");
                    schemaBuilder.SetSchemaName("OgreSample");
                    schemaBuilder.SetDocumentation("Sheet & ImageInstance ElementId");
                    FieldBuilder sheetBuilder = schemaBuilder.AddSimpleField("CreatedSheet", typeof(ElementId));
                    sheetBuilder.SetDocumentation("Sheet ElementId");

                    FieldBuilder imageBuilder = schemaBuilder.AddSimpleField("CreatedImage", typeof(ElementId));
                    imageBuilder.SetDocumentation("Sheet ElementId");

                    schema = schemaBuilder.Finish();
                }

                DataStorage createdData = DataStorage.Create(vs.Document);
                Entity      entity      = new Entity(schema);
                Field       sheetfield  = schema.GetField("CreatedSheet");
                entity.Set <ElementId>(sheetfield, vs.Id, DisplayUnitType.DUT_UNDEFINED);
                Field imagefield = schema.GetField("CreatedImage");
                entity.Set <ElementId>(imagefield, ImageonSheet.Id, DisplayUnitType.DUT_UNDEFINED);
                createdData.SetEntity(entity);
                tx.Commit();
            }

            if (vs != null)
            {
                uidoc.ActiveView = (View)vs;
            }

            return(Result.Succeeded);
        }
Beispiel #19
0
        private bool AutoSizeImage(PageContext pageContext, ImageInstance imageInstance, out System.Drawing.Image gdiImage)
        {
            gdiImage = null;
            if (!pageContext.MeasureItems)
            {
                return(false);
            }
            if (((Microsoft.ReportingServices.OnDemandReportRendering.Image)m_source).Sizing != 0)
            {
                return(false);
            }
            bool result = false;
            AutosizeImageProps autosizeImageProps = null;
            string             streamName         = imageInstance.StreamName;

            if (streamName != null)
            {
                Hashtable hashtable = pageContext.AutoSizeSharedImages;
                if (hashtable != null)
                {
                    autosizeImageProps = (AutosizeImageProps)hashtable[streamName];
                    if (autosizeImageProps != null)
                    {
                        ResizeImage(pageContext, autosizeImageProps.Width, autosizeImageProps.Height);
                        return(autosizeImageProps.InvalidImage);
                    }
                }
                autosizeImageProps = new AutosizeImageProps();
                if (hashtable == null)
                {
                    hashtable = (pageContext.AutoSizeSharedImages = new Hashtable());
                }
                hashtable.Add(streamName, autosizeImageProps);
            }
            else
            {
                autosizeImageProps = new AutosizeImageProps();
            }
            byte[] array = imageInstance.ImageData;
            if (array != null)
            {
                try
                {
                    MemoryStream stream = new MemoryStream(array, writable: false);
                    gdiImage = System.Drawing.Image.FromStream(stream);
                    if (gdiImage != null)
                    {
                        ((Bitmap)gdiImage).SetResolution(pageContext.DpiX, pageContext.DpiY);
                    }
                }
                catch
                {
                    array = null;
                    if (gdiImage != null)
                    {
                        gdiImage.Dispose();
                        gdiImage = null;
                    }
                }
            }
            if (array == null)
            {
                gdiImage = (Bitmap)SPBProcessing.SPBResourceManager.GetObject("InvalidImage");
                result   = true;
                autosizeImageProps.InvalidImage = true;
            }
            if (gdiImage != null)
            {
                ResizeImage(pageContext, gdiImage.Width, gdiImage.Height);
                autosizeImageProps.Width  = gdiImage.Width;
                autosizeImageProps.Height = gdiImage.Height;
            }
            return(result);
        }
        public static ReportItem CreateItem(string uniqueName, AspNetCore.ReportingServices.ReportProcessing.ReportItem reportItemDef, ReportItemInstance reportItemInstance, RenderingContext renderingContext, NonComputedUniqueNames nonComputedUniqueNames)
        {
            if (reportItemDef == null)
            {
                return(null);
            }
            Global.Tracer.Assert(null != renderingContext);
            ReportItem reportItem    = null;
            int        intUniqueName = 0;

            NonComputedUniqueNames[] childrenNonComputedUniqueNames = null;
            if (reportItemInstance != null)
            {
                intUniqueName = reportItemInstance.UniqueName;
            }
            else if (nonComputedUniqueNames != null)
            {
                intUniqueName = nonComputedUniqueNames.UniqueName;
                childrenNonComputedUniqueNames = nonComputedUniqueNames.ChildrenUniqueNames;
            }
            if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Line)
            {
                AspNetCore.ReportingServices.ReportProcessing.Line reportItemDef2 = (AspNetCore.ReportingServices.ReportProcessing.Line)reportItemDef;
                LineInstance reportItemInstance2 = (LineInstance)reportItemInstance;
                reportItem = new Line(uniqueName, intUniqueName, reportItemDef2, reportItemInstance2, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.CheckBox)
            {
                AspNetCore.ReportingServices.ReportProcessing.CheckBox reportItemDef3 = (AspNetCore.ReportingServices.ReportProcessing.CheckBox)reportItemDef;
                CheckBoxInstance reportItemInstance3 = (CheckBoxInstance)reportItemInstance;
                reportItem = new CheckBox(uniqueName, intUniqueName, reportItemDef3, reportItemInstance3, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Image)
            {
                AspNetCore.ReportingServices.ReportProcessing.Image reportItemDef4 = (AspNetCore.ReportingServices.ReportProcessing.Image)reportItemDef;
                ImageInstance reportItemInstance4 = (ImageInstance)reportItemInstance;
                reportItem = new Image(uniqueName, intUniqueName, reportItemDef4, reportItemInstance4, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.TextBox)
            {
                AspNetCore.ReportingServices.ReportProcessing.TextBox reportItemDef5 = (AspNetCore.ReportingServices.ReportProcessing.TextBox)reportItemDef;
                TextBoxInstance reportItemInstance5 = (TextBoxInstance)reportItemInstance;
                reportItem = new TextBox(uniqueName, intUniqueName, reportItemDef5, reportItemInstance5, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Rectangle)
            {
                AspNetCore.ReportingServices.ReportProcessing.Rectangle reportItemDef6 = (AspNetCore.ReportingServices.ReportProcessing.Rectangle)reportItemDef;
                RectangleInstance reportItemInstance6 = (RectangleInstance)reportItemInstance;
                reportItem = new Rectangle(uniqueName, intUniqueName, reportItemDef6, reportItemInstance6, renderingContext, childrenNonComputedUniqueNames);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.ActiveXControl)
            {
                AspNetCore.ReportingServices.ReportProcessing.ActiveXControl reportItemDef7 = (AspNetCore.ReportingServices.ReportProcessing.ActiveXControl)reportItemDef;
                ActiveXControlInstance reportItemInstance7 = (ActiveXControlInstance)reportItemInstance;
                reportItem = new ActiveXControl(uniqueName, intUniqueName, reportItemDef7, reportItemInstance7, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.SubReport)
            {
                AspNetCore.ReportingServices.ReportProcessing.SubReport subReport = (AspNetCore.ReportingServices.ReportProcessing.SubReport)reportItemDef;
                SubReportInstance subReportInstance = (SubReportInstance)reportItemInstance;
                bool   processedWithError           = false;
                Report innerReport;
                if (AspNetCore.ReportingServices.ReportProcessing.SubReport.Status.Retrieved != subReport.RetrievalStatus)
                {
                    innerReport        = null;
                    processedWithError = true;
                }
                else
                {
                    if (subReport.ReportContext == null && renderingContext.CurrentReportContext != null)
                    {
                        subReport.ReportContext = renderingContext.CurrentReportContext.GetSubreportContext(subReport.ReportPath);
                    }
                    ICatalogItemContext reportContext     = subReport.ReportContext;
                    RenderingContext    renderingContext2 = new RenderingContext(renderingContext, subReport.Uri, subReport.Report.EmbeddedImages, subReport.Report.ImageStreamNames, reportContext);
                    if (subReportInstance == null)
                    {
                        innerReport = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                    else if (subReportInstance.ReportInstance == null)
                    {
                        processedWithError = true;
                        innerReport        = new Report(subReport.Report, null, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                    else
                    {
                        innerReport = new Report(subReport.Report, subReportInstance.ReportInstance, renderingContext2, subReport.ReportName, subReport.Description, null);
                    }
                }
                reportItem = new SubReport(intUniqueName, subReport, subReportInstance, renderingContext, innerReport, processedWithError);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.List)
            {
                AspNetCore.ReportingServices.ReportProcessing.List reportItemDef8 = (AspNetCore.ReportingServices.ReportProcessing.List)reportItemDef;
                ListInstance reportItemInstance8 = (ListInstance)reportItemInstance;
                reportItem = new List(intUniqueName, reportItemDef8, reportItemInstance8, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Matrix)
            {
                AspNetCore.ReportingServices.ReportProcessing.Matrix reportItemDef9 = (AspNetCore.ReportingServices.ReportProcessing.Matrix)reportItemDef;
                MatrixInstance reportItemInstance9 = (MatrixInstance)reportItemInstance;
                reportItem = new Matrix(intUniqueName, reportItemDef9, reportItemInstance9, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Table)
            {
                AspNetCore.ReportingServices.ReportProcessing.Table reportItemDef10 = (AspNetCore.ReportingServices.ReportProcessing.Table)reportItemDef;
                TableInstance reportItemInstance10 = (TableInstance)reportItemInstance;
                reportItem = new Table(intUniqueName, reportItemDef10, reportItemInstance10, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.OWCChart)
            {
                AspNetCore.ReportingServices.ReportProcessing.OWCChart reportItemDef11 = (AspNetCore.ReportingServices.ReportProcessing.OWCChart)reportItemDef;
                OWCChartInstance reportItemInstance11 = (OWCChartInstance)reportItemInstance;
                reportItem = new OWCChart(intUniqueName, reportItemDef11, reportItemInstance11, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.Chart)
            {
                AspNetCore.ReportingServices.ReportProcessing.Chart reportItemDef12 = (AspNetCore.ReportingServices.ReportProcessing.Chart)reportItemDef;
                ChartInstance reportItemInstance12 = (ChartInstance)reportItemInstance;
                reportItem = new Chart(intUniqueName, reportItemDef12, reportItemInstance12, renderingContext);
            }
            else if (reportItemDef is AspNetCore.ReportingServices.ReportProcessing.CustomReportItem)
            {
                AspNetCore.ReportingServices.ReportProcessing.CustomReportItem reportItemDef13 = (AspNetCore.ReportingServices.ReportProcessing.CustomReportItem)reportItemDef;
                CustomReportItemInstance reportItemInstance13 = (CustomReportItemInstance)reportItemInstance;
                reportItem = new CustomReportItem(uniqueName, intUniqueName, reportItemDef13, reportItemInstance13, renderingContext, childrenNonComputedUniqueNames);
                if (!renderingContext.NativeAllCRITypes && (renderingContext.NativeCRITypes == null || !renderingContext.NativeCRITypes.ContainsKey(((CustomReportItem)reportItem).Type)))
                {
                    reportItem = ((CustomReportItem)reportItem).AltReportItem;
                }
            }
            return(reportItem);
        }
Beispiel #21
0
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            Application app = commandData.Application.Application;
            UIDocument uidoc = commandData.Application.ActiveUIDocument;
            Document doc = uidoc.Document;
            string filename = "pastedImage" + "_" + DateTime.Now.ToString("yyyy-MM-dd HH.mm") + ".jpeg";
            string path = "";
            if (doc.IsModelInCloud || doc.IsDetached || doc.PathName == null)
            {
                path = Path.Combine(Path.GetTempPath(), filename);
            }
            else if(doc.IsWorkshared) {
                path = Path.Combine(Path.GetDirectoryName(doc.GetWorksharingCentralModelPath().CentralServerPath), "PastedImages", filename);
            }
            else
            {
                path = Path.Combine(Path.GetDirectoryName(doc.PathName), "PastedImages", filename);
            }

            Directory.CreateDirectory(Path.GetDirectoryName(path));

            if (Clipboard.ContainsImage())
            {
                Image image = (Image)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
                Debug.Print(path);
                image.Save(path, System.Drawing.Imaging.ImageFormat.Jpeg);
            }
            else
            {
                message = "No image on clipoboard";
                return Result.Failed;
            }

            XYZ imageLocation = new XYZ();

            try
            {
                imageLocation = uidoc.Selection.PickPoint("Pick insertion point (midpoint)");
            }
            catch(Autodesk.Revit.Exceptions.OperationCanceledException)
            {
                message = "Command cancelled";
                return Result.Cancelled;
            }


            using (Transaction t1 = new Transaction(doc, "paste image"))
            {
                t1.Start();
                ImageTypeOptions opt = new ImageTypeOptions(path, false, ImageTypeSource.Import);
                ImagePlacementOptions pOpt = new ImagePlacementOptions();
                pOpt.Location = imageLocation;
                pOpt.PlacementPoint = BoxPlacement.Center;
                ImageType imageType = ImageType.Create(doc, opt);
                ImageInstance.Create(doc, doc.ActiveView, imageType.Id, pOpt);
                t1.Commit();
            }


            return Result.Succeeded;
        }
 public void Dispose()
 {
     ImageInstance?.Dispose();
     ImageStream?.Dispose();
 }
        private static DeclarationList CreateCurrentDeclarations()
        {
            DeclarationList declarationList = new DeclarationList();
            int             num             = 1;

            declarationList[num++] = IDOwner.GetDeclaration();
            declarationList[num++] = ReportItem.GetDeclaration();
            num++;
            declarationList[num++] = Report.GetDeclaration();
            declarationList[num++] = PageSection.GetDeclaration();
            declarationList[num++] = Line.GetDeclaration();
            declarationList[num++] = Rectangle.GetDeclaration();
            declarationList[num++] = Image.GetDeclaration();
            num++;
            declarationList[num++] = CheckBox.GetDeclaration();
            declarationList[num++] = TextBox.GetDeclaration();
            declarationList[num++] = SubReport.GetDeclaration();
            declarationList[num++] = ActiveXControl.GetDeclaration();
            declarationList[num++] = DataRegion.GetDeclaration();
            num++;
            declarationList[num++] = ReportHierarchyNode.GetDeclaration();
            declarationList[num++] = Grouping.GetDeclaration();
            declarationList[num++] = Sorting.GetDeclaration();
            declarationList[num++] = List.GetDeclaration();
            declarationList[num++] = Pivot.GetDeclaration();
            declarationList[num++] = Matrix.GetDeclaration();
            declarationList[num++] = PivotHeading.GetDeclaration();
            declarationList[num++] = MatrixHeading.GetDeclaration();
            declarationList[num++] = MatrixColumn.GetDeclaration();
            num++;
            declarationList[num++] = MatrixRow.GetDeclaration();
            num++;
            declarationList[num++] = Subtotal.GetDeclaration();
            declarationList[num++] = Table.GetDeclaration();
            declarationList[num++] = TableColumn.GetDeclaration();
            num++;
            declarationList[num++] = TableGroup.GetDeclaration();
            declarationList[num++] = TableRow.GetDeclaration();
            num++;
            declarationList[num++] = OWCChart.GetDeclaration();
            declarationList[num++] = ChartColumn.GetDeclaration();
            num++;
            declarationList[num++] = ReportItemCollection.GetDeclaration();
            declarationList[num++] = ReportItemIndexer.GetDeclaration();
            num++;
            declarationList[num++] = Style.GetDeclaration();
            num++;
            declarationList[num++] = AttributeInfo.GetDeclaration();
            declarationList[num++] = Visibility.GetDeclaration();
            declarationList[num++] = ExpressionInfo.GetDeclaration();
            num++;
            declarationList[num++] = DataAggregateInfo.GetDeclaration();
            num++;
            declarationList[num++] = RunningValueInfo.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = Filter.GetDeclaration();
            num++;
            declarationList[num++] = DataSource.GetDeclaration();
            num++;
            declarationList[num++] = DataSet.GetDeclaration();
            num++;
            declarationList[num++] = ReportQuery.GetDeclaration();
            declarationList[num++] = Field.GetDeclaration();
            num++;
            declarationList[num++] = ParameterValue.GetDeclaration();
            num++;
            num++;
            num++;
            num++;
            declarationList[num++] = ReportSnapshot.GetDeclaration();
            declarationList[num++] = SenderInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = ReceiverInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = DocumentMapNode.GetDeclaration();
            declarationList[num++] = InfoBase.GetDeclaration();
            declarationList[num++] = OffsetInfo.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = ReportItemInstanceInfo.GetDeclaration();
            declarationList[num++] = ReportInstanceInfo.GetDeclaration();
            declarationList[num++] = ReportItemColInstanceInfo.GetDeclaration();
            declarationList[num++] = LineInstanceInfo.GetDeclaration();
            declarationList[num++] = TextBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = RectangleInstanceInfo.GetDeclaration();
            declarationList[num++] = CheckBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = ImageInstanceInfo.GetDeclaration();
            declarationList[num++] = SubReportInstanceInfo.GetDeclaration();
            declarationList[num++] = ActiveXControlInstanceInfo.GetDeclaration();
            declarationList[num++] = ListInstanceInfo.GetDeclaration();
            declarationList[num++] = ListContentInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixHeadingInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixCellInstanceInfo.GetDeclaration();
            declarationList[num++] = TableInstanceInfo.GetDeclaration();
            declarationList[num++] = TableGroupInstanceInfo.GetDeclaration();
            declarationList[num++] = TableRowInstanceInfo.GetDeclaration();
            declarationList[num++] = OWCChartInstanceInfo.GetDeclaration();
            declarationList[num++] = ChartInstanceInfo.GetDeclaration();
            declarationList[num++] = NonComputedUniqueNames.GetDeclaration();
            declarationList[num++] = InstanceInfoOwner.GetDeclaration();
            declarationList[num++] = ReportItemInstance.GetDeclaration();
            num++;
            declarationList[num++] = ReportInstance.GetDeclaration();
            declarationList[num++] = ReportItemColInstance.GetDeclaration();
            declarationList[num++] = LineInstance.GetDeclaration();
            declarationList[num++] = TextBoxInstance.GetDeclaration();
            declarationList[num++] = RectangleInstance.GetDeclaration();
            declarationList[num++] = CheckBoxInstance.GetDeclaration();
            declarationList[num++] = ImageInstance.GetDeclaration();
            declarationList[num++] = SubReportInstance.GetDeclaration();
            declarationList[num++] = ActiveXControlInstance.GetDeclaration();
            declarationList[num++] = ListInstance.GetDeclaration();
            declarationList[num++] = ListContentInstance.GetDeclaration();
            num++;
            declarationList[num++] = MatrixInstance.GetDeclaration();
            declarationList[num++] = MatrixHeadingInstance.GetDeclaration();
            num++;
            declarationList[num++] = MatrixCellInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = TableInstance.GetDeclaration();
            declarationList[num++] = TableRowInstance.GetDeclaration();
            declarationList[num++] = TableColumnInstance.GetDeclaration();
            declarationList[num++] = TableGroupInstance.GetDeclaration();
            num++;
            declarationList[num++] = OWCChartInstance.GetDeclaration();
            declarationList[num++] = ParameterInfo.GetDeclaration();
            num++;
            num++;
            num++;
            declarationList[num++] = InstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = RecordSetInfo.GetDeclaration();
            declarationList[num++] = RecordRow.GetDeclaration();
            declarationList[num++] = RecordField.GetDeclaration();
            declarationList[num++] = ValidValue.GetDeclaration();
            num++;
            declarationList[num++] = ParameterDataSource.GetDeclaration();
            declarationList[num++] = ParameterDef.GetDeclaration();
            num++;
            declarationList[num++] = ParameterBase.GetDeclaration();
            num++;
            declarationList[num++] = ProcessingMessage.GetDeclaration();
            declarationList[num++] = MatrixSubtotalHeadingInstanceInfo.GetDeclaration();
            declarationList[num++] = MatrixSubtotalCellInstance.GetDeclaration();
            declarationList[num++] = CodeClass.GetDeclaration();
            num++;
            declarationList[num++] = TableDetail.GetDeclaration();
            declarationList[num++] = TableDetailInstance.GetDeclaration();
            num++;
            declarationList[num++] = TableDetailInstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = Action.GetDeclaration();
            declarationList[num++] = ActionInstance.GetDeclaration();
            declarationList[num++] = Chart.GetDeclaration();
            declarationList[num++] = ChartHeading.GetDeclaration();
            declarationList[num++] = ChartDataPoint.GetDeclaration();
            num++;
            declarationList[num++] = MultiChart.GetDeclaration();
            declarationList[num++] = MultiChartInstance.GetDeclaration();
            num++;
            declarationList[num++] = Axis.GetDeclaration();
            declarationList[num++] = AxisInstance.GetDeclaration();
            declarationList[num++] = ChartTitle.GetDeclaration();
            declarationList[num++] = ChartTitleInstance.GetDeclaration();
            declarationList[num++] = ThreeDProperties.GetDeclaration();
            declarationList[num++] = PlotArea.GetDeclaration();
            declarationList[num++] = Legend.GetDeclaration();
            declarationList[num++] = GridLines.GetDeclaration();
            declarationList[num++] = ChartDataLabel.GetDeclaration();
            declarationList[num++] = ChartInstance.GetDeclaration();
            declarationList[num++] = ChartHeadingInstance.GetDeclaration();
            declarationList[num++] = ChartHeadingInstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = ChartDataPointInstance.GetDeclaration();
            declarationList[num++] = ChartDataPointInstanceInfo.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = RenderingPagesRanges.GetDeclaration();
            num++;
            declarationList[num++] = IntermediateFormatVersion.GetDeclaration();
            declarationList[num++] = ImageInfo.GetDeclaration();
            declarationList[num++] = ActionItem.GetDeclaration();
            declarationList[num++] = ActionItemInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = DataValue.GetDeclaration();
            declarationList[num++] = DataValueInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = Tablix.GetDeclaration();
            declarationList[num++] = TablixHeading.GetDeclaration();
            declarationList[num++] = CustomReportItem.GetDeclaration();
            declarationList[num++] = CustomReportItemInstance.GetDeclaration();
            declarationList[num++] = CustomReportItemHeading.GetDeclaration();
            declarationList[num++] = CustomReportItemHeadingInstance.GetDeclaration();
            num++;
            num++;
            num++;
            num++;
            declarationList[num++] = CustomReportItemCellInstance.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = DataValueCRIList.GetDeclaration();
            declarationList[num++] = BookmarkInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = DrillthroughInformation.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            num++;
            declarationList[num++] = CustomReportItemInstanceInfo.GetDeclaration();
            declarationList[num++] = ImageMapAreaInstanceList.GetDeclaration();
            declarationList[num++] = ImageMapAreaInstance.GetDeclaration();
            num++;
            declarationList[num++] = InstanceInfo.GetDeclaration();
            declarationList[num++] = SortFilterEventInfo.GetDeclaration();
            declarationList[num++] = EndUserSort.GetDeclaration();
            num++;
            num++;
            declarationList[num++] = RecordSetPropertyNames.GetDeclaration();
            num++;
            num++;
            num++;
            declarationList[num++] = PageSectionInstance.GetDeclaration();
            num++;
            declarationList[num++] = PageSectionInstanceInfo.GetDeclaration();
            declarationList[num++] = SimpleTextBoxInstanceInfo.GetDeclaration();
            declarationList[num++] = ScopeLookupTable.GetDeclaration();
            num++;
            declarationList[num++] = ReportDrillthroughInfo.GetDeclaration();
            declarationList[num++] = InstanceInfo.GetDeclaration();
            Global.Tracer.Assert(declarationList.Count == num, "(current.Count == index)");
            return(declarationList);
        }
Beispiel #24
0
        private bool AutoSizeImage(PageContext pageContext, ImageInstance imageInstance, out System.Drawing.Image gdiImage)
        {
            gdiImage = null;
            bool result = false;
            AutosizeImageProps autosizeImageProps = null;

            m_streamName = imageInstance.StreamName;
            if (m_streamName != null)
            {
                Hashtable hashtable = pageContext.AutoSizeSharedImages;
                if (hashtable != null)
                {
                    autosizeImageProps = (AutosizeImageProps)hashtable[m_streamName];
                    if (autosizeImageProps != null)
                    {
                        GetPaddings(pageContext);
                        return(autosizeImageProps.InvalidImage);
                    }
                }
                autosizeImageProps = new AutosizeImageProps();
                if (hashtable == null)
                {
                    hashtable = (pageContext.AutoSizeSharedImages = new Hashtable());
                }
                hashtable.Add(m_streamName, autosizeImageProps);
            }
            else
            {
                autosizeImageProps = new AutosizeImageProps();
            }
            byte[] array = imageInstance.ImageData;
            if (array != null)
            {
                try
                {
                    MemoryStream stream = new MemoryStream(array, writable: false);
                    gdiImage = System.Drawing.Image.FromStream(stream);
                    if (gdiImage != null)
                    {
                        ((Bitmap)gdiImage).SetResolution(pageContext.DpiX, pageContext.DpiY);
                    }
                }
                catch
                {
                    array = null;
                }
            }
            if (array == null)
            {
                gdiImage = Microsoft.ReportingServices.InvalidImage.Image;
                result   = true;
                autosizeImageProps.InvalidImage = true;
            }
            if (gdiImage != null)
            {
                GetPaddings(pageContext);
                autosizeImageProps.Width  = gdiImage.Width;
                autosizeImageProps.Height = gdiImage.Height;
            }
            return(result);
        }