Using drawAtPoint with my CIImage not doing anything on screen

Posted by Adam on Stack Overflow See other posts from Stack Overflow or by Adam
Published on 2010-06-07T22:38:10Z Indexed on 2010/06/07 22:42 UTC
Read the original article Hit count: 232

Filed under:
|

Stuck again. :( I have the following code crammed into a procedure invoked when I click on a button on my application main window. I'm just trying to tweak a CIIMage and then display the results. At this point I'm not even worried about exactly where / how to display it. I'm just trying to slam it up on the window to make sure my Transform worked. This code seems to work down through the drawAtPoint message. But I never see anything on the screen. What's wrong? Thanks.

Also, as far as displaying it in a particular location on the window ... is the best technique to put a frame of some sort on the window, then get the coordinates of that frame and "draw into" that rectangle? Or use a specific control from IB? Or what? Thanks again.

// earlier I initialize a NSImage from JPG file on disk.  
// then create NSBitmapImageRep from the NSImage.  This all works fine.
// then ...
CIImage * inputCIimage = [[CIImage alloc] initWithBitmapImageRep:inputBitmap];
if (inputCIimage == Nil)
    NSLog(@"could not create CI Image");
else {
    NSLog (@"CI Image created.  working on transform");
    CIFilter *transform = [CIFilter filterWithName:@"CIAffineTransform"];
    [transform setDefaults];
    [transform setValue:inputCIimage forKey:@"inputImage"];
    NSAffineTransform *affineTransform = [NSAffineTransform transform];
    [affineTransform rotateByDegrees:3];
    [transform setValue:affineTransform forKey:@"inputTransform"];
    CIImage * myResult = [transform valueForKey:@"outputImage"];
    if (myResult == Nil)
        NSLog(@"Transformation failed");
    else {
        NSLog(@"Created transformation successfully ... now render it");

        [myResult drawAtPoint: NSMakePoint ( 0,0 )
                     fromRect: NSMakeRect  ( 0,0,128,128 )
                    operation: NSCompositeSourceOver
                     fraction: 1.0];                    //100% opaque
        [inputCIimage release];
    }
}

© Stack Overflow or respective owner

Related posts about objective-c

Related posts about cocoa