On Tue, 5 Oct 2010 10:17:31 +0100, Amy Heavey <a...@willowtreecrafts.co.uk>
said:
>    //select all images for kit
>     NSArray* kitImages = [kit
>valueForKeyPath:@"kitItems.kitItemProduct.productImage"];
>    
>    //set coordinates to x,y -> 0,0 to start
>    float x = 0;
>    float y = 0;
>    //for each image
>    NSEnumerator *imageLoop = [kitImages objectEnumerator];
>    NSString *imgPath;
>    while ((imgPath = [imageLoop nextObject])) {

The enumerator and the call to nextObject are now unnecessary; fast
enumeration has been invented. So unless you're running on an old system
(of course, you might well be), you could say:

    //for each image
    for (NSString* imgPath in kitImages)


>        NSImage *img = [[NSImage alloc]initWithContentsOfFile:imgPath];

That's a memory leak. You are saying "alloc" without a balancing "release".

>            
>        //apply image to view
>        [targetImage lockFocus];
>        [img drawInRect:NSMakeRect(x,y,100,100)
>                  fromRect:NSMakeRect(x,y,100,100)
>                 operation:NSCompositeCopy
>                  fraction:1];

Unlikely. As soon as you add 100 to x to and y, the fromRect value will be
a rectangle outside the image. So it will probably be blank or black or
something. You probably want the fromRect to be NSMakeRect(0,0,100,100),
i.e. the whole of the image is to be used as the source (assuming that the
image is 100 by 100).


>
>        [targetImage unlockFocus];
>
>        //set new coordinates
>        x = x+100;
>        
>        //if coordinates are too wide, start new row - if x>300, reset x
>to  
>0 and add 100 to y
>        if(x > 300){
>            x = 0;
>            y = y+100;
>        }
>        
>    }
>    
>    NSBitmapImageRep *bmpImageRep = [[NSBitmapImageRep
>alloc]initWithData:
>[targetImage TIFFRepresentation]];

That's another memory leak.

m.

-- 
matt neuburg, phd = m...@tidbits.com, <http://www.tidbits.com/matt/>
A fool + a tool + an autorelease pool = cool!
AppleScript: the Definitive Guide - Second Edition!
http://www.apeth.net/matt/default.html#applescriptthings





_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to