私たちはrawBitsバッファー(元の質問のリンクを参照)に入れてから、バッファー内のデータを好きなように並べ替えました(つまり、すべての4番目のバイトをすべて0に設定します) 、テストとして)、今やtwiddledデータを表す新しいUIImageを入手する必要があります。
答えはErica Sudan's iPhone Cookbook、第7章(画像)、例12(ビットマップ)で見つかりました。今後のサイトspelunkersに便利です
+ (UIImage *) imageWithBits: (unsigned char *) bits withSize: (CGSize)
size
{
// Create a color space
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
if (colorSpace == NULL)
{
fprintf(stderr, "Error allocating color space\n");
free(bits);
return nil;
}
CGContextRef context = CGBitmapContextCreate (bits, size.width,
size.height, 8, size.width * 4, colorSpace,
kCGImageAlphaPremultipliedFirst);
if (context == NULL)
{
fprintf (stderr, "Error: Context not created!");
free (bits);
CGColorSpaceRelease(colorSpace);
return nil;
}
CGColorSpaceRelease(colorSpace);
CGImageRef ref = CGBitmapContextCreateImage(context);
free(CGBitmapContextGetData(context));
CGContextRelease(context);
UIImage *img = [UIImage imageWithCGImage:ref];
CFRelease(ref);
return img;
}
希望:関連呼び出しがCGBitmapContextCreate()、および関連するコードがありました!
多くの人がこの種の機能を使用しているわけではありません。 –