- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 CGAffineTransformMake 转换 View 。它可以旋转、缩放和平移。这很好用。但我无法找到一种方法将比例限制为最大尺寸。
如果超出比例,我仍然需要应用当前的旋转和平移。
非常感谢任何建议!
来源:
UITouch *touch1 = [sortedTouches objectAtIndex:0];
UITouch *touch2 = [sortedTouches objectAtIndex:1];
CGPoint beginPoint1 = *(CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch1);
CGPoint currentPoint1 = [touch1 locationInView:self.superview];
CGPoint beginPoint2 = *(CGPoint *)CFDictionaryGetValue(touchBeginPoints, touch2);
CGPoint currentPoint2 = [touch2 locationInView:self.superview];
double layerX = self.center.x;
double layerY = self.center.y;
double x1 = beginPoint1.x - layerX;
double y1 = beginPoint1.y - layerY;
double x2 = beginPoint2.x - layerX;
double y2 = beginPoint2.y - layerY;
double x3 = currentPoint1.x - layerX;
double y3 = currentPoint1.y - layerY;
double x4 = currentPoint2.x - layerX;
double y4 = currentPoint2.y - layerY;
// Solve the system:
// [a b t1, -b a t2, 0 0 1] * [x1, y1, 1] = [x3, y3, 1]
// [a b t1, -b a t2, 0 0 1] * [x2, y2, 1] = [x4, y4, 1]
double D = (y1-y2)*(y1-y2) + (x1-x2)*(x1-x2);
if (D < 0.1) {
return CGAffineTransformMakeTranslation(x3-x1, y3-y1);
}
double a = (y1-y2)*(y3-y4) + (x1-x2)*(x3-x4);
double b = (y1-y2)*(x3-x4) - (x1-x2)*(y3-y4);
double tx = (y1*x2 - x1*y2)*(y4-y3) - (x1*x2 + y1*y2)*(x3+x4) + x3*(y2*y2 + x2*x2) + x4*(y1*y1 + x1*x1);
double ty = (x1*x2 + y1*y2)*(-y4-y3) + (y1*x2 - x1*y2)*(x3-x4) + y3*(y2*y2 + x2*x2) + y4*(y1*y1 + x1*x1);
return CGAffineTransformMake(a/D, -b/D, b/D, a/D, tx/D, ty/D);
最佳答案
做这样的事情:
CGAffineTransform transform = self.view.transform;
float scale = sqrt(transform.a*transform.a + transform.c*transform.c);
if (scale > SCALE_MAX)
self.view.transform = CGAffineTransformScale(transform, SCALE_MAX/scale, SCALE_MAX/scale);
else if (scale < SCALE_MIN)
self.view.transform = CGAffineTransformScale(transform, SCALE_MIN/scale, SCALE_MIN/scale);
在 TouchMoved:withEvent: 和 updateOriginalTransformForTouches 方法的末尾。基本上,您检查当前比例是否超过某个 SCALE_MAX 值,然后将转换矩阵与反转的比例值相乘。
关于iphone - 限制 CGAffineTransform 规模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5359504/
我正在尝试缩放 :before我的内容 到目前为止,悬停时会应用样式,但没有视觉变化,:before保持相同的比例。 到目前为止我得到了什么: 12 SASS(CSS): .c
我正在使用 CGAffineTransformMake 转换 View 。它可以旋转、缩放和平移。这很好用。但我无法找到一种方法将比例限制为最大尺寸。 如果超出比例,我仍然需要应用当前的旋转和平移。
我想知道当我无法访问存储它的实际硬盘时是否有办法确定我的 svn repo 的大小?我之所以这么问,是因为我们的项目托管在谷歌代码上。有 1GB 的限制。我怀疑我们是否接近它,但我真的不知道并且想密切
抱歉,我已经花了大约 5 个小时来研究这个问题,但无法弄清楚发生了什么。我正在玩 http://bl.ocks.org/mbostock 上的一些示例网站并尝试向堆积条形图添加图例。 为此,我设置了比
我正在使用这个: var response = client.Search(s => s.Query(q => q.Ids(c => c.Values(new List(tempDictionary.
我想扩展一个 wildfly 容器,该容器暴露了多个端口并具有确定性结果。 docker-compose.yml version: '3' services: wildfly-server:
我目前正在使用 Linode 来部署我的应用程序。我有 2 台服务器,1 台数据库服务器,前面有 1 个负载均衡器。 我使用Redis作为数据库和NowJS来实现聊天室。使用 Pub/Sub 一切正常
在开发过程中,我需要经常更新我的 Web 应用程序源代码并将更新后的 war 部署到远程 Tomcat 服务器。上传一场大战 (25MB) 在我的连接上花费的时间太长(大约 30 分钟),这非常低效。
我有一个在生产中需要 websocket 连接的网络服务器。我使用 docker-compose 和 nginx 作为代理来部署它。 所以我的撰写文件如下所示: version: '2' servic
我的 Web 服务是在 Grails/Gradle 中创建的,其中包含许多依赖项 jar,使得部署在 tomcat8 中的 war 规模很大。有没有什么办法可以让我的 war 使用来自不同位置的依赖项
我是一名优秀的程序员,十分优秀!