カラーの画像をモノクロ二値に変換しようと思っているけど、なかなかうまくいきません。
以前ならGWorldをつかってCopyBitsでDitherCopyを使えば簡単にできていたと思うけど、もうCarbonは使えないし…
いろいろと調べていると画像をFAX用のデータに変換できる事を発見。
NSData *tiffData = [srcImage TIFFRepresentationUsingCompression:NSTIFFCompressionCCITTFAX3 factor:1.0];
NSImage *image = [[[NSImage alloc] initWithData:tiffData] autorelease];
とやってみたけどカラーのまま。
CoreImageのフィルターも試してみたけど、グレースケールまでしかできませんでした。
NSData *tiffData = [image TIFFRepresentation];
NSBitmapImageRep *bitmap = [NSBitmapImageRep imageRepWithData:tiffData];CIImage *inputImage = [[CIImage alloc] initWithBitmapImageRep:bitmap];
CIColor *ciColor = [[CIColor alloc] initWithColor:[NSColor whiteColor]];
NSNumber *nsIntensity = @1.0f;CIFilter *filter = [CIFilter filterWithName:@”CIColorMonochrome” keysAndValues:@”inputImage”, inputImage, @”inputColor”, ciColor, @”inputIntensity”, nsIntensity, nil];
CIImage *outputImage = [filter valueForKey:@”outputImage”];
NSBitmapImageRep *outBitmap = [[NSBitmapImageRep alloc] initWithCIImage:outputImage];
[outputImage release];
NSImage *outImage = [[NSImage alloc] initWithData:[outBitmap TIFFRepresentation]];
何かいい方法ないかな〜