Ich erhalte diesen Fehler beim Erstellen eines Bitmap-Kontexts:
CGBitmapContextCreate: nicht unterstützte Parameterkombination: 8 ganze Bits / Komponente; 24 Bits / Pixel; 3-Komponenten-Farbraum; kCGImageAlphaNone; 7936 Bytes / Zeile.
Hier ist der Code (beachten Sie, dass der Kontext auf den Parametern eines vorhandenen CGImage basiert:
%Vor%Die Breite ist 2626, die Höhe ist 3981. Ich habe bytesPerRow bei Null verlassen, so dass es automatisch für mich berechnet wird, und es wird 7936 von selbst gewählt.
Also, wo auf der Erde ist die Inkonsistenz? Es macht mich verrückt.
CGBitmapContextCreate: nicht unterstützte Parameterkombination: 8 ganze Bits / Komponente; 24 Bits / Pixel; 3-Komponenten-Farbraum; kCGImageAlphaNone; 7936 Bytes / Zeile.
In der Dokumentation zu Quartz 2D Programming finden Sie eine Liste der Unterstützte Pixelformate . Die 8/3/24-Kombination wird nicht unterstützt, aber 8/3/32 ist unabhängig von der Verwendung von Alpha oder nicht.
Heinrich hat Ihnen einen guten Hintergrund für die Antwort gegeben. Ich dachte nur, ich würde meinen speziellen Fall als Alternative zu der Antwort von tarmes anbieten. Das Problem mit dieser Antwort ist, dass das Problem nicht gelöst wird, wenn ein Alpha-Kanal vorhanden sein soll. Ich benutzte eine Kategorie namens UIImage + Alpha von Trevor Harmon als ich auf dieses Problem stieß. Im Code habe ich diesen Kommentar gefunden:
%Vor% Nun wurde diese fest codierte Korrektur in einer der Methoden aufgerufen, die CGBitmapContextCreate
aufruft, aber nicht die folgende. Für mich ging es einfach darum, dem Rat des Autors zu folgen, das Problem in einer seiner anderen Methoden zu beheben;)
Offensichtlich wird ein Teil von CGBitmapInfo
nicht korrekt aus dem fraglichen Bild übergeben, obwohl ich es nicht weiß.
Verwenden Sie diese Konstanten also in der BitmapInfo, wenn Sie mit dem Alpha-Kanal arbeiten: kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedFirst
Ansonsten möchte ich nur darauf hinweisen, dass es eine wirklich nützliche Klasse ist, wenn Sie mit Aliasing-Problemen zu tun haben!
(Auch erwähnenswert dieses Problem nur in Xcode 6 aufgetaucht ....)
Ich bin nicht sicher, ob es irgendjemandem helfen würde oder nicht, ich stoße einfach auf das ähnliche Problem und versuche es trotzdem wie vorgeschlagen, aber kein Glück.
Mein Problem ist:
%Vor%Mit Fehler:
& lt; Fehler & gt ;: CGBitmapContextCreate: nicht unterstützte Parameterkombination: 8 ganze Bits / Komponente; 8 Bits / Pixel; 1-Komponenten-Farbraum; kCGImageAlphaNone; 2147483648 Bytes / Zeile.
Dann habe ich einen Fehler gefunden, dass header_fontsize keine Werte zugewiesen sind (weil ich fontsize mit header_fontsize verwechsele). Der Fehler liegt hier: dimensions:CGSizeMake(header_fontsize*9, txt_h)
mit header_fontsize nicht zugewiesenen Wert (es ist nicht 0, zuweisen header_fontsize = 0
immer noch ok); Weisen Sie header_fontsize
einen Wert zu, um das Problem zu beheben.
Hoffe, dass dies jemandem in einem ähnlichen Fall wie Sprite helfen wird.
Tags und Links macos core-graphics