Freigeben über


UIImage Konstruktoren

Definition

Überlädt

UIImage()

Standardkonstruktor, der eine neue Instanz dieser Klasse ohne Parameter initialisiert.

UIImage(CIImage, nfloat, UIImageOrientation)

Erstellt eine neue UIImage , die von , skaliert und ausgerichtet wie angegeben unterstützt wird.

UIImage(CGImage, nfloat, UIImageOrientation)
UIImage(String)

Erstellt einen UIImage , indem aus dem angegebenen Dateinamen geladen wird.

UIImage(IntPtr)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen nicht verwalteter Objekte verwendet wird; Wird von der Runtime aufgerufen.

UIImage(NSData, nfloat)

Erstellt ein UIImage aus dem bereitgestellten data, skaliert um den scale Faktor.

UIImage(NSData)

Erstellt ein neues UIImage aus den bereitgestellten Bilddaten.

UIImage(NSCoder)

Ein Konstruktor, der das -Objekt aus den im Unarchiver-Objekt gespeicherten Daten initialisiert.

UIImage(CIImage)

Erstellt ein neues UIImage aus dem bereitgestellten Core Image-Image.

UIImage(CGImage)

Erstellt ein neues UIImage aus dem bereitgestellten Core Graphics-Image.

UIImage(NSObjectFlag)

Konstruktor, um abgeleitete Klassen aufzurufen, um die Initialisierung zu überspringen und das Objekt nur zuzuweisen.

UIImage()

Standardkonstruktor, der eine neue Instanz dieser Klasse ohne Parameter initialisiert.

[Foundation.Export("init")]
public UIImage ();
Attribute

Hinweise

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(CIImage, nfloat, UIImageOrientation)

Erstellt eine neue UIImage , die von , skaliert und ausgerichtet wie angegeben unterstützt wird.

[Foundation.Export("initWithCIImage:scale:orientation:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.ThreadSafe]
public UIImage (CoreImage.CIImage ciImage, nfloat scale, UIKit.UIImageOrientation orientation);
new UIKit.UIImage : CoreImage.CIImage * nfloat * UIKit.UIImageOrientation -> UIKit.UIImage

Parameter

ciImage
CIImage
scale
nfloat
orientation
UIImageOrientation
Attribute

Hinweise

(Weitere Dokumentation zu diesem Knoten ist verfügbar)

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(CGImage, nfloat, UIImageOrientation)

[Foundation.Export("initWithCGImage:scale:orientation:")]
[ObjCRuntime.ThreadSafe]
public UIImage (CoreGraphics.CGImage cgImage, nfloat scale, UIKit.UIImageOrientation orientation);
new UIKit.UIImage : CoreGraphics.CGImage * nfloat * UIKit.UIImageOrientation -> UIKit.UIImage

Parameter

cgImage
CGImage
scale
nfloat
orientation
UIImageOrientation
Attribute

Hinweise

(Weitere Dokumentation zu diesem Knoten ist verfügbar)

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(String)

Erstellt einen UIImage , indem aus dem angegebenen Dateinamen geladen wird.

[Foundation.Export("initWithContentsOfFile:")]
[ObjCRuntime.ThreadSafe]
public UIImage (string filename);
new UIKit.UIImage : string -> UIKit.UIImage

Parameter

filename
String

Der Pfad zu einer unterstützten Imagedatei.

Attribute

Hinweise

Das Image wird nicht zwischengespeichert.

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(IntPtr)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen nicht verwalteter Objekte verwendet wird; Wird von der Runtime aufgerufen.

protected internal UIImage (IntPtr handle);
new UIKit.UIImage : nativeint -> UIKit.UIImage

Parameter

handle
IntPtr

nativeint

Zeiger (Handle) auf das nicht verwaltete Objekt.

Hinweise

Dieser Konstruktor wird von der Laufzeitinfrastruktur (GetNSObject(IntPtr)) aufgerufen, um eine neue verwaltete Darstellung für einen Zeiger auf ein nicht verwaltetes Objective-C-Objekt zu erstellen. Entwickler sollten diese Methode nicht direkt aufrufen, sondern die GetNSObject-Methode aufrufen, da sie verhindert, dass zwei Instanzen eines verwalteten Objekts auf dasselbe systemeigene Objekt zeigen.

Gilt für:

UIImage(NSData, nfloat)

Erstellt ein UIImage aus dem bereitgestellten data, skaliert um den scale Faktor.

[Foundation.Export("initWithData:scale:")]
[ObjCRuntime.Introduced(ObjCRuntime.PlatformName.iOS, 6, 0, ObjCRuntime.PlatformArchitecture.All, null)]
[ObjCRuntime.ThreadSafe]
public UIImage (Foundation.NSData data, nfloat scale);
new UIKit.UIImage : Foundation.NSData * nfloat -> UIKit.UIImage

Parameter

data
NSData

Bilddaten aus einer Datei oder Daten, die Sie programmgesteuert erstellen.

scale
nfloat

Eine Größe von 1,0 erzeugt ein Bild, das relativ zum data- vollformatigen ist.

Attribute

Hinweise

(Weitere Dokumentation zu diesem Knoten ist verfügbar)

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(NSData)

Erstellt ein neues UIImage aus den bereitgestellten Bilddaten.

[Foundation.Export("initWithData:")]
[ObjCRuntime.ThreadSafe]
public UIImage (Foundation.NSData data);
new UIKit.UIImage : Foundation.NSData -> UIKit.UIImage

Parameter

data
NSData

Das NSData Objekt, das die Bilddaten enthält.

Attribute

Hinweise

Das NSData Objekt muss mit einem der unterstützten Bildtypen übereinstimmen.

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(NSCoder)

Ein Konstruktor, der das -Objekt aus den im Unarchiver-Objekt gespeicherten Daten initialisiert.

[Foundation.Export("initWithCoder:")]
[ObjCRuntime.DesignatedInitializer]
public UIImage (Foundation.NSCoder coder);
new UIKit.UIImage : Foundation.NSCoder -> UIKit.UIImage

Parameter

coder
NSCoder

Das Unarchiver-Objekt.

Attribute

Hinweise

Dieser Konstruktor wird bereitgestellt, um die Initialisierung der Klasse von einem Unarchiver (z. B. während der NIB-Deserialisierung) zu ermöglichen. Dies ist Teil des NSCoding Protokolls.

Wenn Entwickler eine Unterklasse dieses Objekts erstellen und weiterhin die Deserialisierung aus einem Archiv unterstützen möchten, sollten sie einen Konstruktor mit einer identischen Signatur implementieren: Nehmen Sie einen einzelnen Parameter vom Typ NSCoder und dekorieren Sie ihn mit der Attributdeklaration [Export("initWithCoder:"].

Der Zustand dieses Objekts kann auch mithilfe der Begleitmethode EncodeTo serialisiert werden.

Gilt für:

UIImage(CIImage)

Erstellt ein neues UIImage aus dem bereitgestellten Core Image-Image.

[Foundation.Export("initWithCIImage:")]
[ObjCRuntime.ThreadSafe]
public UIImage (CoreImage.CIImage ciImage);
new UIKit.UIImage : CoreImage.CIImage -> UIKit.UIImage

Parameter

ciImage
CIImage

Ein CIImage-Objekt.

Attribute

Hinweise

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(CGImage)

Erstellt ein neues UIImage aus dem bereitgestellten Core Graphics-Image.

[Foundation.Export("initWithCGImage:")]
[ObjCRuntime.ThreadSafe]
public UIImage (CoreGraphics.CGImage cgImage);
new UIKit.UIImage : CoreGraphics.CGImage -> UIKit.UIImage

Parameter

cgImage
CGImage

Ein CGImage-Objekt.

Attribute

Hinweise

Dies kann aus einem Hintergrundthread verwendet werden.

Gilt für:

UIImage(NSObjectFlag)

Konstruktor, um abgeleitete Klassen aufzurufen, um die Initialisierung zu überspringen und das Objekt nur zuzuweisen.

protected UIImage (Foundation.NSObjectFlag t);
new UIKit.UIImage : Foundation.NSObjectFlag -> UIKit.UIImage

Parameter

t
NSObjectFlag

Nicht verwendeter Sentinelwert übergeben Sie NSObjectFlag.Empty.

Hinweise

Dieser Konstruktor sollte von abgeleiteten Klassen aufgerufen werden, wenn sie das Objekt vollständig in verwaltetem Code erstellen und lediglich das NSObject von der Runtime zuordnen und initialisieren möchten. Dies ist erforderlich, um den zweistufigen Initialisierungsprozess zu implementieren, den Objective-C verwendet. Der erste Schritt besteht darin, die Objektzuordnung durchzuführen, der zweite Schritt besteht darin, das Objekt zu initialisieren. Wenn Entwickler den Konstruktor aufrufen, der NSObjectFlag.Empty verwendet, nutzen sie einen direkten Pfad, der bis zu NSObject führt, um nur den Arbeitsspeicher des Objekts zuzuweisen und die Objective-C- und C#-Objekte miteinander zu binden. Die tatsächliche Initialisierung des Objekts liegt beim Entwickler.

Dieser Konstruktor wird in der Regel vom Bindungsgenerator verwendet, um das Objekt zuzuordnen, aber verhindert, dass die tatsächliche Initialisierung stattfindet. Nachdem die Zuordnung erfolgt ist, muss der Konstruktor das Objekt initialisieren. Bei vom Bindungsgenerator generierten Konstruktoren bedeutet dies, dass eine der "init"-Methoden manuell aufgerufen wird, um das Objekt zu initialisieren.

Es liegt in der Verantwortung des Entwicklers, das Objekt vollständig zu initialisieren, wenn es mithilfe des Pfads NSObjectFlag.Empty verkettet wird.

Wenn der Konstruktor des Entwicklers im Allgemeinen die Basisimplementierung NSObjectFlag.Empty aufruft, sollte er eine Objective-C-Init-Methode aufrufen. Wenn dies nicht der Fall ist, sollten Entwickler stattdessen mit dem richtigen Konstruktor in ihrer Klasse verketten.

Der Argumentwert wird ignoriert und stellt lediglich sicher, dass der einzige ausgeführte Code die Konstruktionsphase ist die grundlegende NSObject-Zuordnung und Laufzeittypregistrierung. In der Regel sieht die Verkettung wie folgt aus:

//
// The NSObjectFlag merely allocates the object and registers the
// C# class with the Objective-C runtime if necessary, but no actual
// initXxx method is invoked, that is done later in the constructor
//
// This is taken from Xamarin.iOS's source code:
//
[Export ("initWithFrame:")]
public UIView (System.Drawing.RectangleF frame) : base (NSObjectFlag.Empty)
{
// Invoke the init method now.
	var initWithFrame = new Selector ("initWithFrame:").Handle;
	if (IsDirectBinding)
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSend_CGRect (this.Handle, initWithFrame, frame);
	else
		Handle = ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper_CGRect (this.SuperHandle, initWithFrame, frame);
}

Gilt für: