private void method_15( DrawContext.Wireframe context, Bitmap bitmap, out DxfRasterImage rasterImage, out Vector4D transformedOrigin, out Vector4D transformedXAxis, out Vector4D transformedYAxis) { GdiBitmap gdiBitmap = new GdiBitmap(bitmap); rasterImage = (DxfRasterImage) new DxfImage(); DxfImageDef imageDef = new DxfImageDef(context.Model); imageDef.SetBitmap((IBitmap)gdiBitmap); rasterImage.SetImageDef(imageDef, true); IClippingTransformer clippingTransformer = (IClippingTransformer)context.GetTransformer().Clone(); Matrix4D preTransform1 = Transformation4D.Translation((WW.Math.Vector3D) this.point3D_3); clippingTransformer.SetPreTransform(preTransform1); Matrix4D preTransform2 = Transformation4D.Scaling((this.point3D_2 - this.point3D_3).GetLength() / (double)bitmap.Width, (this.point3D_0 - this.point3D_3).GetLength() / (double)bitmap.Height, 1.0); clippingTransformer.SetPreTransform(preTransform2); Matrix4D matrix = clippingTransformer.Matrix; WW.Math.Point3D zero = WW.Math.Point3D.Zero; transformedOrigin = matrix.TransformTo4D(zero); transformedXAxis = matrix.TransformTo4D(zero + WW.Math.Vector3D.XAxis); transformedYAxis = matrix.TransformTo4D(zero + WW.Math.Vector3D.YAxis); }
public void Dispose() { if (IsDisposed) { return; } IsDisposed = true; GdiBitmap.Dispose(); UnloadGPU(); if (D2DBitmap != null && !D2DBitmap.IsDisposed) { D2DBitmap?.Dispose(); } D2DBitmap = null; }