一部のピクセルの色を変更するために、NSImage を NSBitmapImageRep に読み込もうとしています。プログラムは、各ピクセルのカラー値を読み取り、それがカラーウェルによって選択された色と等しいかどうかを確認する必要があります。「MainImageView」という名前の ImageView と「MainColor」という名前の ColorWell があります。それが私のコードです:
- (IBAction)ScanImg:(id)sender {
NSBitmapImageRep *ImgRep = [[NSBitmapImageRep alloc]initWithData: MainImageView.image.TIFFRepresentation];
for (int pixelx = 0; pixelx < ImgRep.pixelsWide; pixelx ++) {
for (int pixely = 0; pixely < ImgRep.pixelsHigh;pixely ++){
if ([ImgRep colorAtX:pixelx y:pixely] == MainColor.color) {
[ImgRep setColor: [NSColor whiteColor] atX:pixelx y:pixely];
} else{
[ImgRep setColor: [NSColor blackColor] atX:pixelx y:pixely];
}
}
}
struct CGImage *CG = [ImgRep CGImage];
NSImage *Image = [[NSImage alloc] initWithCGImage:CG size:ImgRep.size];
MainImageView.image = Image;
}
しかし、コードは画像上で何も変更しません! どうしたの?または、ピクセルの色を変更する別の方法はありますか?
ご協力ありがとうございました!ダリ