Example #1
0
            public void CreateImage(
                DxfRasterImage rasterImage,
                WW.Math.Point2D imageCorner1,
                WW.Math.Point2D imageCorner2,
                Vector4D transformedOrigin,
                Vector4D transformedXAxis,
                Vector4D transformedYAxis,
                DrawContext.Wireframe drawContext)
            {
                IBitmap bitmap = rasterImage.ImageDef.Bitmap;

                if (!bitmap.IsValid)
                {
                    return;
                }
                imageCorner1 += DxfRasterImage.PixelOffset;
                imageCorner2 -= DxfRasterImage.PixelOffset;
                double width  = (double)bitmap.Width;
                double height = (double)bitmap.Height;

                imageCorner1.X = IntervalD.GetRestrictedValue(imageCorner1.X, 0.0, width - 1.0);
                imageCorner1.Y = IntervalD.GetRestrictedValue(imageCorner1.Y, 0.0, height - 1.0);
                imageCorner2.X = IntervalD.GetRestrictedValue(imageCorner2.X, 0.0, width - 1.0);
                imageCorner2.Y = IntervalD.GetRestrictedValue(imageCorner2.Y, 0.0, height - 1.0);
                bool   flag    = imageCorner1.X != 0.0 || imageCorner1.Y != 0.0 || imageCorner2.X != width - 1.0 || imageCorner2.Y != height - 1.0;
                IntPtr hbitmap = bitmap.Image.GetHbitmap();

                try
                {
                    BitmapSource source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hbitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
                    if (flag)
                    {
                        source = (BitmapSource) new CroppedBitmap(source, new Int32Rect((int)imageCorner1.X, (int)imageCorner1.Y, (int)(imageCorner2.X - imageCorner1.X), (int)(imageCorner2.Y - imageCorner1.Y)));
                    }
                    WW.Math.Point2D   point2D1          = this.matrix4D_0.TransformToPoint2D(transformedOrigin);
                    WW.Math.Point2D   point2D2          = this.matrix4D_0.TransformToPoint2D(transformedXAxis);
                    WW.Math.Point2D   point2D3          = this.matrix4D_0.TransformToPoint2D(transformedYAxis);
                    Vector2D          vector2D1         = point2D2 - point2D1;
                    Vector2D          vector2D2         = point2D3 - point2D1;
                    TransformedBitmap transformedBitmap = new TransformedBitmap();
                    transformedBitmap.BeginInit();
                    transformedBitmap.Source    = source;
                    transformedBitmap.Transform = (Transform) new MatrixTransform(new Matrix(1.0, 0.0, 0.0, 1.0, 0.0, point2D1.Y) * new Matrix(1.0, 0.0, 0.0, -1.0, 0.0, 0.0) * new Matrix(1.0, 0.0, 0.0, 1.0, 0.0, -point2D1.Y) * new Matrix(vector2D1.X, vector2D2.X, vector2D1.Y, vector2D2.Y, 0.0, 0.0));
                    transformedBitmap.EndInit();
                    Image image = new Image();
                    image.BeginInit();
                    image.Source          = (ImageSource)transformedBitmap;
                    image.RenderTransform = (Transform) new TranslateTransform(point2D1.X, point2D1.Y);
                    image.Stretch         = Stretch.None;
                    image.EndInit();
                    this.visualCollection_0.Add((Visual)image);
                }
                finally
                {
                    Class975.DeleteObject(hbitmap);
                }
            }
Example #2
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     WW.Math.Point2D imageCorner1,
     WW.Math.Point2D imageCorner2,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis,
     DrawContext.Wireframe drawContext)
 {
 }
Example #3
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     DrawContext.Wireframe drawContext,
     Polyline4D clipPolygon,
     Polyline4D imageBoundary,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis)
 {
 }
Example #4
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     DrawContext.Wireframe drawContext,
     Polyline4D clipPolygon,
     Polyline4D imageBoundary,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis)
 {
     this.linkedListNodeRef_0.Insert((IWireframeDrawable) new WireframeGraphicsCache.Class972(rasterImage, drawContext, clipPolygon, imageBoundary, transformedOrigin, transformedXAxis, transformedYAxis));
 }
 public void CreateImage(
     DxfRasterImage rasterImage,
     Point2D imageCorner1,
     Point2D imageCorner2,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis,
     DrawContext.Wireframe drawContext)
 {
     this.iwireframeGraphicsFactory2_0.CreateImage(rasterImage, imageCorner1, imageCorner2, transformedOrigin, transformedXAxis, transformedYAxis, drawContext);
 }
Example #6
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     WW.Math.Point2D imageCorner1,
     WW.Math.Point2D imageCorner2,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis,
     DrawContext.Wireframe drawContext)
 {
     this.class925_0.Add((IWireframeDrawable2) new WireframeGraphics2Cache.Class935(rasterImage, imageCorner1, imageCorner2, transformedOrigin, transformedXAxis, transformedYAxis, drawContext));
 }
Example #7
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     DrawContext.Wireframe drawContext,
     Polyline4D clipPolygon,
     Polyline4D imageBoundary,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis)
 {
     this.iwireframeGraphicsFactory_0.CreateImage(rasterImage, drawContext, clipPolygon, imageBoundary, transformedOrigin, transformedXAxis, transformedYAxis);
 }
Example #8
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     DrawContext.Wireframe drawContext,
     Polyline4D clipPolygon,
     Polyline4D imageBoundary,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis)
 {
     this.bounds3D_0.Update((IList <Vector4D>)imageBoundary, this.matrix4D_0);
 }
Example #9
0
            public void CreateImage(
                DxfRasterImage rasterImage,
                WW.Math.Point2D imageCorner1,
                WW.Math.Point2D imageCorner2,
                Vector4D transformedOrigin,
                Vector4D transformedXAxis,
                Vector4D transformedYAxis,
                DrawContext.Wireframe drawContext)
            {
                IBitmap bitmap = rasterImage.ImageDef == null ? (IBitmap)null : rasterImage.ImageDef.Bitmap;

                if (bitmap == null || !bitmap.IsValid)
                {
                    return;
                }
                imageCorner1 += DxfRasterImage.PixelOffset;
                imageCorner2 -= DxfRasterImage.PixelOffset;
                double width  = (double)bitmap.Width;
                double height = (double)bitmap.Height;

                imageCorner1.X = IntervalD.GetRestrictedValue(imageCorner1.X, 0.0, width - 1.0);
                imageCorner1.Y = IntervalD.GetRestrictedValue(imageCorner1.Y, 0.0, height - 1.0);
                imageCorner2.X = IntervalD.GetRestrictedValue(imageCorner2.X, 0.0, width - 1.0);
                imageCorner2.Y = IntervalD.GetRestrictedValue(imageCorner2.Y, 0.0, height - 1.0);
                bool   flag    = imageCorner1.X != 0.0 || imageCorner1.Y != 0.0 || imageCorner2.X != width - 1.0 || imageCorner2.Y != height - 1.0;
                IntPtr hbitmap = bitmap.Image.GetHbitmap();

                try
                {
                    BitmapSource source = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hbitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
                    if (flag)
                    {
                        source = (BitmapSource) new CroppedBitmap(source, new Int32Rect((int)imageCorner1.X, (int)imageCorner1.Y, (int)(imageCorner2.X - imageCorner1.X), (int)(imageCorner2.Y - imageCorner1.Y)));
                    }
                    WW.Math.Point2D point2D1  = this.matrix4D_0.TransformToPoint2D(transformedOrigin);
                    WW.Math.Point2D point2D2  = this.matrix4D_0.TransformToPoint2D(transformedXAxis);
                    WW.Math.Point2D point2D3  = this.matrix4D_0.TransformToPoint2D(transformedYAxis);
                    Vector2D        vector2D1 = point2D2 - point2D1;
                    Vector2D        vector2D2 = point2D3 - point2D1;
                    Image           image     = new Image();
                    image.BeginInit();
                    image.Source          = (ImageSource)source;
                    image.RenderTransform = (Transform) new MatrixTransform(new Matrix(1.0, 0.0, 0.0, -1.0, 0.0, source.Height) * new Matrix(vector2D1.X, vector2D1.Y, vector2D2.X, vector2D2.Y, point2D1.X, point2D1.Y));
                    image.Stretch         = Stretch.None;
                    image.Tag             = this.objectTaggerDelegate_0((DxfEntity)rasterImage, (DrawContext)drawContext);
                    image.EndInit();
                    this.linkedListNodeRef_0.Insert((Interface37) new Class747((FrameworkElement)image));
                }
                finally
                {
                    Class975.DeleteObject(hbitmap);
                }
            }
Example #10
0
 public void CreateImage(
     DxfRasterImage rasterImage,
     DrawContext.Wireframe drawContext,
     Polyline4D clipPolygon,
     Polyline4D imageBoundary,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis)
 {
     if (!this.graphicsConfig_0.DrawImages || rasterImage.ImageDef == null || !rasterImage.ImageDef.Bitmap.IsValid)
     {
         return;
     }
     this.method_4(false, (Interface12) new Class344((Image)rasterImage.ImageDef.Bitmap.Image, clipPolygon, imageBoundary, transformedOrigin, transformedXAxis, transformedYAxis, (System.Drawing.Color)drawContext.GetPlotColor((DxfEntity)rasterImage), drawContext.GetLineWeight((DxfEntity)rasterImage)));
 }
Example #11
0
 public Class972(
     DxfRasterImage rasterImage,
     DrawContext.Wireframe drawContext,
     Polyline4D clipPolygon,
     Polyline4D imageBoundary,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis)
 {
     this.dxfRasterImage_0 = rasterImage;
     this.wireframe_0      = drawContext;
     this.polyline4D_0     = clipPolygon;
     this.polyline4D_1     = imageBoundary;
     this.vector4D_0       = transformedOrigin;
     this.vector4D_1       = transformedXAxis;
     this.vector4D_2       = transformedYAxis;
 }
Example #12
0
        public override void ResolveReferences(Class374 modelBuilder)
        {
            base.ResolveReferences(modelBuilder);
            DxfRasterImage handledObject = (DxfRasterImage)this.HandledObject;

            if (this.ulong_6 == 0UL)
            {
                return;
            }
            DxfImageDef imageDef = modelBuilder.method_4 <DxfImageDef>(this.ulong_6);

            if (imageDef == null)
            {
                return;
            }
            handledObject.SetImageDef(imageDef, false);
        }
Example #13
0
 public Class935(
     DxfRasterImage rasterImage,
     WW.Math.Point2D imageCorner1,
     WW.Math.Point2D imageCorner2,
     Vector4D transformedOrigin,
     Vector4D transformedXAxis,
     Vector4D transformedYAxis,
     DrawContext.Wireframe drawContext)
 {
     this.dxfRasterImage_0 = rasterImage;
     this.point2D_0        = imageCorner1;
     this.point2D_1        = imageCorner2;
     this.vector4D_0       = transformedOrigin;
     this.vector4D_1       = transformedXAxis;
     this.vector4D_2       = transformedYAxis;
     this.wireframe_0      = drawContext;
 }
Example #14
0
 public Class292(DxfRasterImage image)
     : base((DxfEntity)image)
 {
 }