Re: From a view rect to a screen rect
Re: From a view rect to a screen rect
- Subject: Re: From a view rect to a screen rect
- From: Development <email@hidden>
- Date: Fri, 01 Jul 2011 14:47:25 -0700
These don't seem to work. The origin is still way way way off
NSRect n1=[imageView convertRect:selection toView:nil];
NSPoint p1 = [window convertBaseToScreen:n1.origin];
Does any one know how to take a selected area within a view and translate it so that it resizes itself and then adjusts it's origin.
Maybe I didn't explain well enough.
I have a 800X600 rectangle which contains an image capture of the full screen.
Within the 800X600 rectangle you can select a smaller area.
This smaller selection should then become the area of the actual full screen that is captured.
Right now, nothing I do will allow me to capture the correct area. And although my conversion creates a rectangle of the correct size.
Is this possibly a case where my coordinates are upside down?
And if this is the case, how to I apply a transform to flip the origin's x coordinate?
I attempted an affine transform however it doesn't work the same in Mac as iPhone so I'm clueless on how to use affine transform
On Jul 1, 2011, at 1:52 PM, Lee Ann Rucker wrote:
>
> On Jul 1, 2011, at 1:14 PM, Andy Lee wrote:
>
>> On Jul 1, 2011, at 2:43 PM, Development wrote:
>>> I have tried having the view itself use convertRectToBase passing the screen bounds.
>>
>> That method doesn't do what you think it does. The docs say pretty clearly you should pass it a rect "in the receiver’s coordinate system". This is a method of NSView, so the receiver is the view, and question is what is the rect being converted to?
>>
>> I *partly* blame the docs and/or the method name, because it isn't clear what "base" means in the method name. This has always bugged me. As far as I can tell it means the window's coordinate system, so I don't know why they didn't name the method "convertRectToWindow:".
>
>
> http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/6b989dcbb79e9ba/029eeb633c5287cc
>
> Quote:
> If you want to convert to/from the window's base coordinate system, use the
> original -convert[xx]:[to|from]View: and pass in a nil view.
>
> What those "base" calls do is a conversion to the "base" coordinate system
> which isn't the "window base" coordinate system. This will not get you the
> coordinates you want. Don't use them. (The "base" coordinate system has to
> do with resolution independence; go look it up.)
>
>
>>
>> Anyway, check out NSView's window method, and NSWindow's convertBaseToScreen: method. See the docs for what these methods return.
>>
>> --Andy
>>
>>
>>> This creates a rectangle of the correct size but the origin is always, no matter what, 15,183.
>>> I'm totally lost here and don't even know what to search for now that my other attempts have failed.
>>> Could some one help me out?
>>> I'm hoping to find something with low overhead as clicks are a factor._______________________________________________
>>>
>>> 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
>
_______________________________________________
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