Schritt für Schritt - Entwickeln für OS X und iOS
Schritt für Schritt - Entwickeln für OS X und iOS
Grafikdateien zeichnen

Sie können in einem NSView nicht nur selbst zeichnen, auch zur Anzeige von Grafikdateien ist dieses Steuerelement geeignet. Ob Sie dabei das Bild als Resource in Ihr Projekt einfügen oder mit einem NSOpenPanel dem Anwender die Auswahl einer Datei ermöglichen, bleibt Ihnen überlassen.

Möchten Sie beispielsweise die Resource image.jpg in einem View anzeigen, ist das mit wenigen Anweisungen möglich.
NSPoint imagePos = NSMakePoint(0, 0);
NSImage *aImage = [NSImage imageNamed:
@"image.jpg"];
[aImage dissolveToPoint:imagePos fraction:
1.0];
In diesem Beispiel übernimmt dissolveToPoint das Zeichnen der Grafikdatei auf den View. Der Wert fraction bestimmt die Transparenz des Bildes, in diesem Fall soll das Bild aber vollständig sichtbar sein. Der Wert ist daher 1.0.
stacks_image_087451BC-51E5-478D-8124-DA7182B17259
Möchte man hingegen, dass die Grafik dem View in der Größe komplett angepasst wird, ist eine andere Anweisung nötig. Ausserdem muss zuerst die ursprüngliche Größe des Bildes ermittelt werden.
NSRect bounds = [self bounds];

NSRect imageRect;
imageRect.origin = NSMakePoint(
0, 0);
imageRect.size = [aImage size];
[aImage drawInRect:bounds fromRect:imageRect operation:
 NSCompositeSourceOver fraction:
1.0];
stacks_image_FEEE1F3E-6334-43D2-B57F-765395B9853A
Durch eine Variation dieser Anweisungen kann dann auch ein Bild skaliert werden.
NSRect imageRect;
imageRect.origin = NSMakePoint(
0, 0);
imageRect.size = [aImage size];

NSRect newImageRect;
newImageRect.origin = NSMakePoint(
0, 0);
newImageRect.size = NSMakeSize(
100, 120);
[aImage drawInRect:newImageRect fromRect:imageRect operation:
 NSCompositeSourceOver fraction:
1.0];
stacks_image_887B8A09-30D6-448A-A12B-3BE7F35E69E3
Das soll als kleine Einführung in die vielfältigen Möglichkeiten des NSView genügen.