3

UIImage サブクラス化されたビューと UIBezierPath を使用して画面に図形を描画し、図形の線を描画する iOS アプリがあります。

テキストを描画するコードは次のとおりです。

// This is inside a loop
const unsigned int row       = i; 
const unsigned int column    = j;

NSString* rowColumnId = [[NSString alloc] initWithFormat:@"%d, %d", column, row ];
CGPoint textCoord = shapeCoord[0];
textCoord.x += 5;
textCoord.y += 5;

[rowColumnId drawAtPoint:textCoord withFont:[UIFont fontWithName:@"Helvetica" size:9.0]];

画面上では、すべて問題ないように見えます。シェイプとテキストの両方が iOS シミュレーターと iOS デバイスの両方に表示されます

ビューを PNG 画像として保存する必要があったため、次のコードを使用して保存しました。

// set up the rendering context
CGSize  boardViewSize = [self bounds].size;
UIGraphicsBeginImageContext(boardViewSize);
[[self layer] renderInContext:UIGraphicsGetCurrentContext()];

// draw the view
UIImage*    viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// convert to PNG
NSData*     pngData  = UIImagePNGRepresentation(viewImage);
UIImage*    pngImage = [UIImage imageWithData:pngData];
return pngImage;

PNG を保存すると、表示されるのは図形だけです。

NSString で描画されたテキストも保存するには、どのコードが必要ですか?

4

1 に答える 1

1

さて、問題は、黒いテキストが透明なPNGに表示されないことであることがわかりました。

したがって、上記の質問は無視できます。

于 2013-01-04T02:50:38.600 に答える