Цвет текста Texture2D изменился после обновления с iOS 3.0 до 4.0 - PullRequest
0 голосов
/ 05 июля 2010

Я использую класс OpenGL Texture2D и метод initWithString для отображения строк пользователю.При работе с iOS 3.0 и XCode 3.1.3 весь текст будет казаться черным в симуляторе и белым на телефоне.После обновления до iOS 4.0, XCode 3.2.3 и iPhone SDK 4.0 текст на телефоне выглядит черным!Не очень хорошо, так как мое приложение почти завершено, а обложка написана вокруг белого текста.Как я могу это исправить?

Подробнее: я тестирую на телефоне 3G.Также класс texture2D из Crashlanding.

1 Ответ

0 голосов
/ 06 июля 2010

Хорошо. Я нашел решение с некоторой потрясающей помощью, предоставленной этим блогом (majicjungle.com). В основном я изменил метод initWithString класса Texture2D, как упоминалось в первых нескольких шагах связанного урока.

Вот модификации, которые я сделал:

1) Заменены четыре строки в initWithString с этими четырьмя строками:

colorSpace = CGColorSpaceCreateDeviceRGB();
data = calloc(1, width * height * 4);
context = CGBitmapContextCreate(data, width, height, 8, width * 4, colorSpace,          kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big);
CGColorSpaceRelease(colorSpace);

2) Заменено kTexture2DPixelFormat_A8 с kTexture2DPixelFormat_RGBA8888 в вызове initWithData

3) Изменено CGContextSetGrayFillColor (context, 1.0, 1.0); в CGContextSetRGBFillColor (context, 1.0, 1.0, 1.0, 1.0);

Второй-четвертый аргументы CGContextSetRGBFillColor являются значениями RGB. Создание их всех 1.0 привело к желаемому белому цвету шрифта.

Я определенно советую прочитать сообщение в блоге ... это очень полезно.

...