Rendering MKMapView zu UIImage mit echter Auflösung

8

Ich verwende diese Funktion zum Rendern der MKMapView-Instanz in image:

%Vor%

Das funktioniert gut. Aber mit iphone4 hat das gerenderte Bild nicht die gleiche Auflösung wie es wirklich auf dem Gerät hat. Auf dem Gerät habe ich die Kartenansichtsqualität 640x920 und das gerenderte Bild hat die Auflösung 320x460. Dann habe ich die Größe verdoppelt, die der UIGraphicsBeginImageContext () - Funktion zur Verfügung gestellt wird, die aber den einzigen oberen linken Bildteil gefüllt hat.

Frage: Gibt es eine Möglichkeit, die Karte mit einer Auflösung von 640x920 in ein Bild zu rendern?

    
Prcela 18.11.2010, 20:54
quelle

2 Antworten

8

Verwenden Sie UIGraphicsBeginImageContextWithOptions anstelle von UIGraphicsBeginImageContext :

%Vor%

Weitere Informationen finden Sie unter QA1703 . Es sagt:

  

Hinweis: Ausgehend von iOS 4,   UIGraphicsBeginImageContextWithOptions   ermöglicht es Ihnen, mit einer Skala zu versehen   Faktor. Ein Skalierungsfaktor von Null setzt es   zu dem Skalierungsfaktor des Geräts   Hauptbildschirm. Dies ermöglicht es Ihnen, zu bekommen   die schärfste, höchste Auflösung   Schnappschuss des Displays, einschließlich a   Retina-Anzeige.

    
Anna 18.11.2010, 21:23
quelle
0

iOS 7 führte eine neue Methode ein, um Screenshots eines MKMapView zu erstellen. Es ist jetzt möglich, die neue MKMapSnapshot-API wie folgt zu verwenden:

%Vor%

Derzeit werden alle Überlagerungen und Anmerkungen nicht gerendert. Sie müssen sie anschließend selbst auf das resultierende Snapshot-Bild rendern. Das bereitgestellte MKMapSnapshot-Objekt verfügt über eine praktische Hilfsmethode für die Zuordnung zwischen Koordinaten und Punkten:

%Vor%     
Klaas 17.11.2013 12:47
quelle

Tags und Links