CGBitmapContextCreate に問題があり、以下を取得しています。
エラー: サポートされていないピクセルの説明 - 1 コンポーネント、8 ビット/コンポーネント、8 ビット/ピクセル
このコードで:
float *bitmap = (float*)malloc(sizeof(float) * width * height);
// fill with floats
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceGray();
size_t bitsPerComponent = 8;
size_t bytesPerRow = sizeof(float)*width;
CGContextRef context = CGBitmapContextCreate(bitmap, width, height, bitsPerComponent, bytesPerRow, colorspace
, kCGImageAlphaNone| kCGBitmapFloatComponents | kCGBitmapByteOrder32Little);
ピクセルあたり 8 ビット、コンポーネントあたり 8 ビットです。なぜエラーが発生するのかわかりません。ここでこれを正しく行うことについての他のいくつかの投稿を見てきましたが、ほとんどの場合、新しい画像を作成するのではなく、画像の編集を扱っているため、元の画像から設定の一部を取得できます。