xcodeのスクロールビュー用にプログラムでスクリーンショットを撮りました。しかし、私が直面している問題は、現在の日付と一緒にスクリーンショットを撮る必要があるということです。私を助けてください。
3 に答える
0
これは、画像にテキストを追加する方法です。日付を文字列としてこれを試してください。スクリーンショットを撮ったら、それを以下のメソッドに渡し、出力画像を使用します。便宜上、以下の方法を変更してください。
//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];
}
于 2012-10-11T06:54:19.127 に答える
0
スクリーンショットを撮る前に、現在の日付のラベルを 1 つ付け、スクリーンショットを撮った後にそれを削除します。
于 2012-10-11T06:52:07.303 に答える
0
または、EXIF メタデータを使用して日付を記録することもできます (おそらく既にそこにあるはずです)。ただし、画像に埋め込まれた日付は偽造するのが難しいと思います。
于 2012-10-11T08:00:34.630 に答える