0
비트 맵을 메모리에 만들고 일부 픽셀 값을 설정 한 다음 해당 이미지를 디스크에 저장하고 싶습니다.코코아 파일로 렌더링
지금까지 나는 NSBitmapImageRep 있습니다
image = [[NSBitmapImageRep alloc] initWithBitmapDataPlanes:NULL
pixelsWide:width
pixelsHigh:height
bitsPerSample:8
samplesPerPixel:4
hasAlpha:YES
isPlanar:NO
colorSpaceName:NSDeviceRGBColorSpace
bytesPerRow:0
bitsPerPixel:0];
그리고 단순히과 같이 일부 픽셀을 추가
NSColor *color = [NSColor colorWithDeviceRed:1.0
green:1.0
blue:1.0
alpha:1.0];
[image setColor:color
atX:x
y:y];
을 그리고 결국 이상적인하지만 좋은하지 않은 TIFF로 (이미지를 저장 시작)
NSData* TIFFData = [image TIFFRepresentation];
[TIFFData writeToFile:@"/temp/image.tiff" atomically:YES];
이 코드에서 저장 한 이미지는 실제로 비어 있으며 일부만 보여줍니다 왼쪽 위 모서리의 픽셀. 나는 바퀴가 어디에서 빠져 나가는 지 모르겠다. 그러나 나는 이것이 틀린 길로 나가는 것이 분명해 보인다.
. 채우기 작업을 사용하지 않고 단일 픽셀을 인쇄하는 방법이 있습니까? 나는 그 접근법에 오버 헤드가있을 것이라고 확신한다. – Nippysaurus
나는 그렇게 생각하지 않는다. 그러나 당신이 그 수준의 성능에 대해 걱정한다면 "[image setColor : color atX : x y : y]"도 아마 너무 느릴 것입니다. 이 시점에서 비트 맵 이미지 rep에 대한 데이터를 malloc 버퍼로 할당하고 직접 버퍼에 쓴 다음 이미지 담당자를 만들어 즉시 저장하려고합니다. –