Re: How to draw whole NSImage inside custom rect in NSView
Re: How to draw whole NSImage inside custom rect in NSView
- Subject: Re: How to draw whole NSImage inside custom rect in NSView
- From: Alexander Shmelev <email@hidden>
- Date: Wed, 12 Nov 2008 01:56:53 +0300
Actually, I have one idea why this happens.
Maybe because usually width=8, height = 14 so [self bounds] returns
NSRect(0,0,8.64,14.64). And
maxScanArea = NSRect(0.32, 0.32, 8, 14). So there can be some
approximation to integer value, not float.
But it it is true, how to deal with this?
On 12.11.2008, at 1:28, Ken Ferry wrote:
Hi Alexander,
Your code will draw the image in maxScanArea. You should probably
look for a bug elsewhere.
I like to replace complex drawing with simple color fills when
debugging drawing location issues. At least it limits what could go
wrong.
-Ken
On Tue, Nov 11, 2008 at 2:17 PM, Alexander Shmelev
<email@hidden> wrote:
Hello
I have custom NSView, and want to draw whole NSImage inside some
custom
rectangular area of NSView.
I tried to use [NSImage drawInRect:...] but result does not fit
desired
rectangular area of NSView.
My code:
- (void) setPreviewWidth:(float)width height:(float)height
{
margin = width / 25;
maxScanArea = NSMakeRect(margin, margin, width, height);
canvasArea = NSMakeRect(0, 0, width + 2.0 * margin, height +
2.0 *
margin);
[self setBounds:canvasArea];
}
- (void) drawRect:(NSRect)rect
{
// Drawing image in preview
if (image) {
NSRect imageRect;
imageRect.origin = NSZeroPoint;
imageRect.size = [image size];
[image drawInRect:maxScanArea
fromRect:imageRect
operation:NSCompositeSourceOver
fraction:1];
// I want image to be drawn in maxScanArea rect, but
it is
drawn in [self bounds] rect.
}
}
Could you advise how can I draw exactly inside maxScanArea NSRect
in NSView?
BR, Alexander.
_______________________________________________
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
_______________________________________________
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