現在、画像が常に表示されている画像ビューを持つアプリを開発しています
しばらくすると変化します。今、私はいくつかのテキストを書いたり、任意の記号を描いたりできるようにしたいと思っています
、単純な線、交差線は、画像への描画が画像ビューに表示されることを意味します。私がしたい手段
画像にテキストを追加したり、記号や線などを描画したりします。私はどこでも検索していますが、できません
解決策を見つけてください。どうすればこれを解決できますか?前もって感謝します。
現在、画像が常に表示されている画像ビューを持つアプリを開発しています
しばらくすると変化します。今、私はいくつかのテキストを書いたり、任意の記号を描いたりできるようにしたいと思っています
、単純な線、交差線は、画像への描画が画像ビューに表示されることを意味します。私がしたい手段
画像にテキストを追加したり、記号や線などを描画したりします。私はどこでも検索していますが、できません
解決策を見つけてください。どうすればこれを解決できますか?前もって感謝します。
2つのオプションがあります。
UILabel
UILabelのbackgroundcolorをクリアカラーに設定します。次のメソッドを実装します。このメソッドは、引数として画像とテキストを受け取り、テキストが追加された画像を返します。
//UIImageにテキストを追加します
-(UIImage *)addText:(UIImage *)img text:(NSString *)text1
{
int w = img.size.width;
int h = img.size.height;
//lon = h - lon;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);
char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];// "05/05/09";
CGContextSelectFont(context, "Arial", 18, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 255, 255, 255, 1);
//rotate text
CGContextSetTextMatrix(context, CGAffineTransformMakeRotation( -M_PI/4 ));
CGContextShowTextAtPoint(context, 4, 52, text, strlen(text));
CGImageRef imageMasked = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
return [UIImage imageWithCGImage:imageMasked];
}
参照: http: //iphonesdksnippets.com/post/2009/05/05/Add-text-to-image-%28UIImage%29.aspx
これが機能するかどうかを確認してください:
//Add text to UIImage
-(UIImage *)addText:(UIImage *)img text:(NSString *)text1{
int w = img.size.width;
int h = img.size.height;
//lon = h - lon;
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(NULL, w, h, 8, 4 * w, colorSpace, kCGImageAlphaPremultipliedFirst);
CGContextDrawImage(context, CGRectMake(0, 0, w, h), img.CGImage);
CGContextSetRGBFillColor(context, 0.0, 0.0, 1.0, 1);
char* text = (char *)[text1 cStringUsingEncoding:NSASCIIStringEncoding];// "05/05/09";
CGContextSelectFont(context, "Arial", 18, kCGEncodingMacRoman);
CGContextSetTextDrawingMode(context, kCGTextFill);
CGContextSetRGBFillColor(context, 255, 255, 255, 1);
//rotate text
CGContextSetTextMatrix(context, CGAffineTransformMakeRotation( -M_PI/4 ));
CGContextShowTextAtPoint(context, 4, 52, text, strlen(text));
CGImageRef imageMasked = CGBitmapContextCreateImage(context);
CGContextRelease(context);
CGColorSpaceRelease(colorSpace);
return [UIImage imageWithCGImage:imageMasked];
}