//--------------------------------------------------------------------------------------------------------- /// <summary> /// Изменение имени ресурса кисти. /// Метод автоматически вызывается после установки соответствующего свойства /// </summary> //--------------------------------------------------------------------------------------------------------- protected virtual void RaiseResourceNameChanged() { #if USE_WINDOWS System.Windows.Media.ImageBrush image_brush = mWindowsBrush as System.Windows.Media.ImageBrush; image_brush.ImageSource = XWindowsLoaderBitmap.LoadBitmapFromResource(Properties.Resources.ResourceManager, mResourceName); image_brush.Viewport = new System.Windows.Rect(0, 0, image_brush.ImageSource.Width, image_brush.ImageSource.Height); // 2) Информируем об изменении NotifyPropertyChanged(PropertyArgsWindowsBrush); #endif #if USE_GDI if (mDrawingBrush != null) { mDrawingBrush.Dispose(); } Object image = Properties.Resources.ResourceManager.GetObject(mResourceName); System.Drawing.Bitmap source = (System.Drawing.Bitmap)image; mDrawingBrush = new System.Drawing.TextureBrush(source, (System.Drawing.Drawing2D.WrapMode)GetTileMode()); #endif #if USE_SHARPDX if (mD2DBrush != null) { SharpDX.Direct2D1.BitmapBrush d2d_image_brush = mD2DBrush as SharpDX.Direct2D1.BitmapBrush; d2d_image_brush.Bitmap = XDirect2DManager.LoadFromResource(mResourceName); } #endif }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обновление ресурса WPF /// </summary> //--------------------------------------------------------------------------------------------------------- public override void UpdateWindowsResource() { System.Windows.Media.ImageBrush image_brush = mWindowsBrush as System.Windows.Media.ImageBrush; image_brush.ImageSource = XWindowsLoaderBitmap.LoadBitmapFromResource(Properties.Resources.ResourceManager, mResourceName); image_brush.Stretch = System.Windows.Media.Stretch.Fill; image_brush.ViewportUnits = System.Windows.Media.BrushMappingMode.Absolute; image_brush.Viewport = new System.Windows.Rect(0, 0, image_brush.ImageSource.Width, image_brush.ImageSource.Height); image_brush.TileMode = GetTileMode(); }
//--------------------------------------------------------------------------------------------------------- /// <summary> /// Обновление данных источника изображения /// </summary> //--------------------------------------------------------------------------------------------------------- public override void UpdateImageSource() { if (mSource.IsCorrectPath) { if (mSource.TypeData == TCadImageSourceType.File) { mBitmap = XWindowsLoaderBitmap.LoadBitmapFromFile(mSource.PathData) as BitmapImage; } else { mBitmap = XWindowsLoaderBitmap.LoadBitmapFromResource(mSource.PathData) as BitmapImage; } } }