CroppedBitmap.BeginInit Метод

Определение

Сигнализирует о начале инициализации объекта CroppedBitmap.

public void BeginInit ();

Реализации

Исключения

CroppedBitmap в настоящее время инициализируется. Объект BeginInit() уже был вызван.

-или-

CroppedBitmap уже инициализирован.

Примеры

В следующем примере показано, как инициализировать CroppedBitmap с помощью набора свойств с помощью BeginInit методов и EndInit .

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;

namespace SDKSample
{
    public partial class CroppedBitmapExample : Page
    {
        public CroppedBitmapExample()
        {

            ///// Create a BitmapImage and set it's DecodePixelWidth to 200. Use  /////
            ///// this BitmapImage as a source for other BitmapSource objects.    /////

            BitmapImage myBitmapImage = new BitmapImage();

            // BitmapSource objects like BitmapImage can only have their properties
            // changed within a BeginInit/EndInit block.
            myBitmapImage.BeginInit();
            myBitmapImage.UriSource = new Uri(@"sampleImages/WaterLilies.jpg",UriKind.Relative);

            // To save significant application memory, set the DecodePixelWidth or  
            // DecodePixelHeight of the BitmapImage value of the image source to the desired 
            // height or width of the rendered image. If you don't do this, the application will 
            // cache the image as though it were rendered as its normal size rather then just 
            // the size that is displayed.
            // Note: In order to preserve aspect ratio, set DecodePixelWidth
            // or DecodePixelHeight but not both.
            myBitmapImage.DecodePixelWidth = 200;
            myBitmapImage.EndInit();

            ////////// Crop the BitmapSource ////////////
            // Use the BitmapImage created above as the source for a new BitmapSource object
            // which is cropped.                                               
            // Note: New BitmapSource does not cache. It is always pulled when required.

            CroppedBitmap myCroppedBitmap = new CroppedBitmap();

            // BitmapSource objects like CroppedBitmap can only have their properties
            // changed within a BeginInit/EndInit block.
            myCroppedBitmap.BeginInit();

            // Use the BitmapSource object defined above as the source for this new 
            // BitmapSource (chain the BitmapSource objects together).
            myCroppedBitmap.Source = myBitmapImage;

            // Crop the image to the rectangular area defined below. 
            // The image is cropped to 80 pixels less in width and 60 less 
            // in height then the original source.
            myCroppedBitmap.SourceRect = new Int32Rect(0,0,(int)myBitmapImage.Width-80, (int)myBitmapImage.Height-60);
            myCroppedBitmap.EndInit();

            // Create Image Element
            Image myImage = new Image();
            myImage.Width = 200;
            //set image source
            myImage.Source = myCroppedBitmap;

            // Add Image to the UI
            StackPanel myStackPanel = new StackPanel();
            myStackPanel.Children.Add(myImage);
            this.Content = myStackPanel;
        }
    }
}

Комментарии

Инициализация свойства должна выполняться между BeginInit вызовами и EndInit . После инициализации CroppedBitmap изменения свойств игнорируются.

Применяется к

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9

См. также раздел