CroppedBitmap.BeginInit Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Segnala l'avvio dell'inizializzazione dell'oggetto CroppedBitmap.
public:
virtual void BeginInit();
public void BeginInit ();
abstract member BeginInit : unit -> unit
override this.BeginInit : unit -> unit
Public Sub BeginInit ()
Implementazioni
Eccezioni
CroppedBitmap è attualmente in fase di inizializzazione. Il metodo BeginInit() è già stato chiamato.
-oppure- L'oggetto CroppedBitmap è già stato inizializzato.
Esempio
Nell'esempio seguente viene illustrato come inizializzare un CroppedBitmap oggetto con un set di proprietà usando i BeginInit metodi e 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;
}
}
}
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Namespace SDKSample
Class CroppedBitmapExample
Inherits Page
Public Sub New()
'/// Create a BitmapImage and set it's DecodePixelWidth to 200. Use /////
'/// this BitmapImage as a source for other BitmapSource objects. /////
Dim myBitmapImage As 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.
Dim myCroppedBitmap As 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, _
CType(myBitmapImage.Width - 80, Integer), _
CType(myBitmapImage.Height - 60, Integer))
myCroppedBitmap.EndInit()
' Create Image Element
Dim myImage As New Image()
myImage.Width = 200
'set image source
myImage.Source = myCroppedBitmap
' Add Image to the UI
Dim myStackPanel As New StackPanel()
myStackPanel.Children.Add(myImage)
Me.Content = myStackPanel
End Sub
End Class
End Namespace 'ImagingSnippetGallery
Commenti
L'inizializzazione delle proprietà deve essere eseguita tra BeginInit le chiamate e EndInit . Dopo l'inizializzazione CroppedBitmap di , le modifiche alle proprietà vengono ignorate.