Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Filling bezier path with the image



Hi,

I am trying to fill the NSBezierPath with the NSImage.
i.e, drawing NSImage inside the clipping region of the NSBezierPath.

NSAffineTransform* affineTransform = [NSAffineTransform transform];
[affineTransform  scaleXBy:XScale yBy:YScale];
[affineTransform  rotateByDegrees:iRotationAngle];
[affineTransform  translateXBy:XTranslate yBy:YTranslate];

[graphicsPath transformUsingAffineTransform:affineTransform];

//Drawing
NSImage* myImage = [self getImage];
[[NSColor colorWithPatternImage:myImage] set];//I have tried here, "setFill" API also

[graphicsPath fill];

[[NSColor redColor] set];
[graphicsPath stroke];

[self saveTheImage];

In the above code, the stroking of the bezier path works properly. Stroke appears as I am intended.
I was expecting the image to be drawn inside the stroked region, but the image is not drawn inside the path. Part of the image is drawn outside the clipping region.

I have even tried the NSAffineTransform's "concat" API, but the result is same as above code!!!.
I am wondering. how stroke is working properly?

Anything wrong in the above code?
Is there any easy way to draw NSImage in the clipping region of the NSBezierPath?

Thanks & Regards
Vinay
_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/email@hidden

This email sent to email@hidden



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.