• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: CIImage (TIFFRepresentation) memory leak
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CIImage (TIFFRepresentation) memory leak


  • Subject: Re: CIImage (TIFFRepresentation) memory leak
  • From: email@hidden
  • Date: Mon, 10 Mar 2008 21:03:19 +0100

I narrowed this down by removing the filters, and the leak is still
there. And what a leak! Everytime I draw the view the memory usage
increases with the size of the drawn image. Yet this exact same code
is used in the Core Image Programming Guide. So I figure it's a bug in
Core Image. But how can I avoid it?


 - (void) drawRect:(NSRect)rect
{
         CIImage *image = [CIImage imageWithData:[[self image]
TIFFRepresentation]];
       if (image !=nil) {

                 CGRect cg;
                 CIContext *context = [[NSGraphicsContext
currentContext] CIContext];
                 cg = CGRectMake(NSMinX(rect), NSMinY(rect),
NSWidth(rect), NSHeight(rect));
                 [context drawImage:image
                                         atPoint:cg.origin
                                         fromRect:cg];

         }
 }

On Mon, Mar 10, 2008 at 5:33 PM,  <email@hidden> wrote:
> Hi,
>
>  I'm applying a Core Image filter to an image in a NSImageView
>  subclass. The drawing works fine, except it leaks memory, not sure
>  why. This is my drawRect method. Anything wrong with it? Thanks.
>
>
>  - (void) drawRect:(NSRect)rect
>  {
>
>         [[self image] setFlipped:YES];
>         CIImage *image = [CIImage imageWithData:[[self image] TIFFRepresentation]];
>         if (image !=nil) {
>                 CIFilter *filter = [CIFilter filterWithName:@"CIGaussianBlur"];
>                 [filter setDefaults];
>                 [filter setValue: image forKey: @"inputImage"];
>                 [filter setValue: [NSNumber numberWithFloat:0.7] forKey: @"inputRadius"];
>                 image = [filter valueForKey: @"outputImage"];
>
>                 filter = [CIFilter filterWithName:@"CIPerspectiveTransform"];
>                 [filter setDefaults];
>                 [filter setValue: image forKey: @"inputImage"];
>                 [filter setValue:[CIVector vectorWithX:NSMinX(rect) Y:NSMinY(rect) +
>  bLeft ] forKey:@"inputBottomLeft"];
>                 [filter setValue:[CIVector vectorWithX:NSMaxX(rect) Y:NSMinY(rect) +
>  bRight ] forKey:@"inputBottomRight"];
>                 [filter setValue:[CIVector vectorWithX:NSMinX(rect) Y:NSMaxY(rect) +
>  tLeft ] forKey:@"inputTopLeft"];
>                 [filter setValue:[CIVector vectorWithX:NSMaxX(rect) Y:NSMaxY(rect) +
>  tRight ] forKey:@"inputTopRight"];
>                 image = [filter valueForKey: @"outputImage"];
>
>                 CGRect cg;
>                 CIContext *context = [[NSGraphicsContext currentContext] CIContext];
>                 cg = CGRectMake(NSMinX(rect), NSMinY(rect), NSWidth(rect), NSHeight(rect));
>                 [context drawImage:image
>                                         atPoint:cg.origin
>                                         fromRect:cg];
>
>         }
>  }
>
_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: CIImage (TIFFRepresentation) memory leak
      • From: Rob Keniger <email@hidden>
References: 
 >CIImage (TIFFRepresentation) memory leak (From: email@hidden)

  • Prev by Date: MVC Design Question
  • Next by Date: Re: Stupid question: how do you show an NSWindow?
  • Previous by thread: CIImage (TIFFRepresentation) memory leak
  • Next by thread: Re: CIImage (TIFFRepresentation) memory leak
  • Index(es):
    • Date
    • Thread