首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转NSImageView会导致NSImageView缩放

旋转NSImageView会导致NSImageView缩放
EN

Stack Overflow用户
提问于 2011-01-10 01:52:23
回答 2查看 2.1K关注 0票数 1

我使用下面的代码来旋转一个NSImageView (实际上是三个堆叠在一起)旋转效果很好,但图像在旋转时会放大和缩小。为什么?我怎么才能修复它呢?

代码语言:javascript
复制
- (void)UpdateRotate:(CGPoint)mouseLoc{

mouseLoc.y = mouseLoc.y - 200;

CGPoint playerMid = CGPointMake(prect.xPos, prect.yPos);

x = mouseLoc.x - playerMid.x;
y = mouseLoc.y - playerMid.y;
double priorResult = rot;
rot = atan2(y,x) * 180 / PI;

[image rotateByAngle:-priorResult];
[image rotateByAngle:rot];
[image setNeedsDisplay:YES];
[WeaponImage rotateByAngle:-priorResult];
[WeaponImage rotateByAngle:rot];
[WeaponImage setNeedsDisplay:YES];
[ShieldImage rotateByAngle:-priorResult];
[ShieldImage rotateByAngle:rot];
[ShieldImage setNeedsDisplay:YES];
}

解决了!

我没有旋转每个NSImageView,而是旋转了包含所有ImageViews =D的整个NSView

代码:

代码语言:javascript
复制
[self setFrameCenterRotation:-priorResult];
[self setFrameCenterRotation:rot];
[self setNeedsDisplay:YES];
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-10 02:19:16

也许用NSImageScaleNone调用- (void)setImageScaling:(NSImageScaling)newScaling;来关闭伸缩?

票数 1
EN

Stack Overflow用户

发布于 2012-12-29 20:54:34

使用:

代码语言:javascript
复制
[anImageView setFrameCenterRotation:angleInDegrees];
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4640723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档