0

OpenGL Texture2DクラスとinitWithStringメソッドを使用して、ユーザーに文字列を表示しています。iOS3.0およびXCode3.1.3で実行している場合、すべてのテキストはシミュレーターでは黒く、電話では白く表示されます。iOS 4.0、XCode 3.2.3、およびiPhone SDK 4.0にアップデートした後、テキストは電話で黒く表示されます。私のアプリはほぼ完成していて、アートワークは白いテキストを中心にデザインされているので、あまり良くありません。どうすればこれを修正できますか?

詳細:3G電話でテストしています。また、texture2DクラスはCrashlandingからのものです。

4

1 に答える 1

0

わかりました、私はこのブログ(majicjungle.com)によって提供されるいくつかの素晴らしい助けを借りて解決策を見つけました。基本的に、リンクされたチュートリアルの最初のいくつかのステップで説明したように、Texture2DクラスのinitWithStringメソッドを変更しました。

これが私が行った変更です:

1)initWithStringの4行を次の4行に置き換えました。

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

2)initWithDataの呼び出しで、kTexture2DPixelFormat_A8をkTexture2DPixelFormat_RGBA8888に置き換えました

3)CGContextSetGrayFillColor(context、1.0、1.0);を変更しました。to CGContextSetRGBFillColor(context、1.0、1.0、1.0、1.0);

CGContextSetRGBFillColorの2番目から4番目の引数はRGB値です。それらをすべて1.0にすると、目的の白いフォントの色になります。

私は間違いなくブログ投稿を読むことをお勧めします...それは非常に役に立ちます。

于 2010-07-05T21:17:47.980 に答える