Ich habe mit Xcode 6 gegen Bild-Assets herumgespielt, als ich etwas sehr Interessantes bemerkte : Wir können jetzt Vektorbilder darin angeben (siehe im Bereich Dienstprogramme, nachdem Sie Images.xcassets ausgewählt haben).
Ich habe eine kleine App (mit einem großen UIImageView) mit einem .SVG-Bild (hat nicht funktioniert), dann ein .EPS (hat auch nicht funktioniert) und schließlich ein .PDF ausprobiert. Es hat funktioniert! Nun, obwohl ich das Bild gesehen habe, schien es pixelig und nicht vektorisiert zu sein.
Es scheint also, dass Apple den Weg für Vektorsymbole / Bilder bereitet. Keine zig Millionen Versionen von App-Symbolen mehr, keine "@ 2x" -Bilder mehr. Aber kann jemand diese Funktion freischalten?
vector-graphics
ios8
xcode6
Jean Le Moignan
quelle
quelle
pdf
in einem Asset-Katalog enthalten sind. Ichpdf
bin mir nicht sicher, was die Anforderungen für diese s sind (ich hatte keine Zeit, sie in -say- Adobe Illustrator zu öffnen).Antworten:
Hier sind einige meiner Gedanken nach einigen Experimenten mit Vektor-Assets:
1. Zeitunterstützung kompilieren
Nach mehreren Versuchen glaube ich, dass es nur eine Unterstützung für die Kompilierungszeit ist. Xcode generiert alle 1x-, 2x- und 3x-Bilder zur Kompilierungszeit. Das heißt, es funktioniert mit älteren iOS-Versionen. Gleichzeitig bedeutet dies, dass es im endgültigen Build immer noch im PNG-Format vorliegt und Sie kein verlustfreies Lagerbild aus der Vektordatei erhalten können.
2. Warum PDF anstelle von SVG oder anderen Formaten?
Bei SVG und anderen Formaten enthält das Vektorbild keine tatsächlichen Größeninformationen, während PDF Größeninformationen enthält. Ich denke, Xcode 6 verwendet die Größeninformationen in PDF als tatsächliche Anzeigegröße und generiert dann 2x 3x Dateien aus dem Vektorbild.
3. Die Dateigröße von PDF spielt keine Rolle
Zu Beginn befürchten wir, dass PDF viel größer als PNGs sein wird. Wir haben versucht, es unter http://smallpdf.com/ zu komprimieren, und es funktioniert ziemlich gut. Wenn die ursprüngliche PDF-Datei jedoch nicht wie bereits erwähnt im Build enthalten ist, spielt die Dateigröße von PDF keine Rolle.
Ich werde diesen Beitrag weiter bearbeiten, wenn ich andere Dinge finde.
EDIT 14-09-25
@mredig erwähnte, dass für iOS Bitmaps zur Kompilierungszeit generiert werden, für OSX jedoch das Vektorbild in skalierbarer Form.
via: http://martiancraft.com/blog/2014/09/vector-images-xcode6/
quelle
So experimentieren Sie mit Vektorgrafiken im Asset-Katalog in Xcode 6:
Erstellen Sie einen neuen Bildsatz.
Wählen Sie einen leeren Bildsteckplatz in Ihrem Bildsatz aus und schalten Sie das Popup im Attributinspektor auf Vektoren. Sie haben jetzt einen einzigen universellen Bildsteckplatz.
Ziehen Sie eine Vektor-PDF in diesen Steckplatz.
Wo immer dieses Bild verwendet wird, wird es ohne Rasterung an seinen Kontext angepasst (z. B. eine Bildansicht mit fester Größe), wie in diesem Screenshot gezeigt:
EDIT Trotz dieser Antwort, die größere PDF Zeichnung wurde Rastern. Siehe jetzt https://stackoverflow.com/a/45623000/341994 : In Xcode 9 wird die Vektor-PDF-Datei ohne Rasterung ordnungsgemäß skaliert.
BEARBEITEN In Xcode 11 funktioniert diese Formel: Im Asset-Katalog müssen Sie das Einblendmenü "Skalen" auf "Einzelne Skalen" setzen und das vektorbasierte Bild in den 1x-Steckplatz einfügen. Aktivieren Sie Vektordaten beibehalten. Erledigt.
quelle
Mit diesem Online-Tool können Sie Ihre Bilder von SVG in PDF konvertieren
http://www.fileformat.info/convert/image/svg2pdf.htm
1- Bild hochladen
2- Wählen Sie Breite: 24px, Höhe: 24px
3- Kopieren Sie in Ihr Xcode-Projekt
4- Gehen Sie zu Images.xcassets
5- Klicken Sie mit der rechten Maustaste und erstellen Sie einen neuen Bildsatz
6- Wählen Sie im rechten Bereich (Attributinspektor) aus.
7- Ändern Sie die Typen in Vektor
8- Ziehen Sie Ihr PDF-Bild per Drag & Drop dorthin
9- Verwenden Sie es in Ihrem Projekt
quelle
Ein Tipp: Erstellen Sie PDF @ 2x Auflösung und Dateinamen mit @ 2x ([email protected]). Sie erhalten perfekte Schärfungs- und Kontrastbilder, speziell für iPad 2 und Mini.
quelle
Ich erstelle einfach eine benutzerdefinierte Schriftart mit Symbolen oder sogar App-Logos und verwende sie auf diese Weise und ziehe sie in meine App. Ich kann dann die Schriftgrößen für Geräte und Bildschirmauflösungen sehr einfach anpassen.
quelle
Wenn Sie nach einer Antwort auf die Frage suchen: "Wie kann ich Vektorgrafiken in meiner iOS-App verwenden und sie immer mit wunderschöner Perfektion skalieren?" , dann kann ich
UIImage+PDF
von https://github.com/mindbrix/UIImage-PDF wärmstens empfehlenIch finde das funktioniert absolut genial. Anstatt alle Bilder im PNG-Format mit drei verschiedenen Auflösungen zu haben, habe ich jetzt für jedes Bild eine winzige kleine PDF-Datei. Ich kann diese wie folgt anzeigen:
Neben
fitSize:
gibt es auchatWidth:
,atHeight
undatSize:
.Ich verwende
UIImage+PDF
für alle Bilder, die vektorisiert werden können, und verwende nur noch PNGs für Fotos.Ich führe meine PDF-Dateien auch über http://smallpdf.com/compress-pdf aus , um die kleinsten Dateigrößen für sie sicherzustellen.
Erik
quelle
In Fällen, in denen Sie App-Symbole erstellen, funktioniert PDF nicht. Vielleicht möchten Sie sich ein Projekt ansehen, für das ich gerade ein Projekt namens Speculid erstellt habe . Es kann PNG, PDF usw. aus Quellbildern einschließlich SVG-Dateien erstellen. Feedback wäre sehr dankbar.
quelle