• 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: Rotate NSString... I give up :( [SOLVED]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Rotate NSString... I give up :( [SOLVED]


  • Subject: Re: Rotate NSString... I give up :( [SOLVED]
  • From: "Vitaly Ovchinnikov" <email@hidden>
  • Date: Thu, 7 Aug 2008 00:37:06 +0400

Yes, he right. I've just tested it and it works fine.
I though that -translateXBy:yBy: will move my object, but it moved
pivot point... This is hard, especially with revesed OY axis ;)
Thanks to you and Jean-Daniel.

On Wed, Aug 6, 2008 at 10:19 PM, Steve Christensen <email@hidden> wrote:
> No, Jean-Daniel's method looks right. The first -translateXBy:yBy: moves (0,
> 0) to the center of your text rectangle. -rotateByDegrees: rotates the
> coordinate system by 90 degrees around that center point, then the second
> call to -translateXBy:yBy: restores the coordinate system's (0, 0) point to
> what it was so that when you draw the text in rcWhereToDraw, it will be
> correctly rotated.
>
>
> On Aug 6, 2008, at 1:46 AM, Vitaly Ovchinnikov wrote:
>
>> Will test this too, but I don't think it will work.
>> In my case I moved rectangle from it's real position to zero, then
>> rotate around zero and then moved back.
>> In your case I will move it far from zero and then rotate...
>> But I will give it a try.
>>
>> On Wed, Aug 6, 2008 at 11:20 AM, Jean-Daniel Dupas
>> <email@hidden> wrote:
>>>
>>> Shouldn't be this instead (check the translations' signs) ?
>>>
>>> [tr translateXBy:dx yBy:dy]; // center or rect will be the center of
>>> rotation
>>> [tr rotateByDegrees:90]; // rotate it
>>> [tr translateXBy:-dx yBy:-dy]; // move it back
>>>
>>>
>>> Le 6 août 08 à 08:46, Vitaly Ovchinnikov a écrit :
>>>
>>>> Hello,
>>>>
>>>> I need to draw NSString rotated to 90 degrees. Now I have the code:
>>>>
>>>> NSRect rcWhereToDraw = NSMakeRect(........); // <- rect is already
>>>> "rotated" here
>>>> [str drawInRect:rcWhereToDraw withAttributes:attributes]; // string
>>>> will be drawn non-rotated
>>>>
>>>> as far as I know, I need something like this:
>>>>
>>>> [[NSGraphicsContext currentContext] saveGraphicsState];
>>>> NSRect rcWhereToDraw = NSMakeRect(........);
>>>>
>>>> float dx = NSMidX(rcWhereToDraw), dy = NSMidY(rcWhereToDraw);
>>>>
>>>> NSAffineTransform *tr = [NSAffineTransform transform];
>>>> [tr translateXBy:-dx yBy:-dy]; // center or rect will be the center of
>>>> rotation
>>>> [tr rotateByDegrees:90]; // rotate it
>>>> [tr translateXBy:dx yBy:dy]; // move it back
>>>> [tr concat];
>>>>
>>>> [str drawInRect:rcWhereToDraw withAttributes:attributes];
>>>> [[NSGraphicsContext currentContext] restoreGraphicsState];
>>>>
>>>> This doesn't work, where am I wrong?
>>>> Thank you.
>
>
_______________________________________________

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: Rotate NSString... I give up :( [SOLVED]
      • From: "Kyle Sluder" <email@hidden>
  • Prev by Date: Re: How do you create a new PDF file and write text to it?
  • Next by Date: Re: CGImageSourceCreateFromURL failed with error -11
  • Previous by thread: Re: How do you create a new PDF file and write text to it?
  • Next by thread: Re: Rotate NSString... I give up :( [SOLVED]
  • Index(es):
    • Date
    • Thread