首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算IIIF旋转图像的高度和宽度

如何计算IIIF旋转图像的高度和宽度
EN

Stack Overflow用户
提问于 2017-08-09 01:08:20
回答 1查看 60关注 0票数 2

我想使用IIIF中提供的图像旋转将历史航拍照片叠加到地图上。我面临的问题是,在将图像放到地图上之前,我需要使用http://jsfiddle.net/jamesinealing/tr7obasm/等代码手动计算NW和SE点,这些点会根据旋转进行更改。

我要做的是计算新的旋转图像的像素尺寸(如果你喜欢的话是边界框),然后使用这些尺寸至少得到一些lng坐标的近似值,然后我可以调整它。

我的计算测试代码是http://jsfiddle.net/jamesinealing/ehp65gy1/ (基于https://stackoverflow.com/a/17453766)。

代码语言:javascript
复制
var rotation=30;
var angle=rotation;
// var angle=((360-rotation) % 180);
var imgWidth=300;
var imgHeight=224;
w = Math.sin(angle * Math.PI/180) * imgHeight + Math.cos(angle * Math.PI/180) * imgWidth;
h = Math.sin(angle * Math.PI/180) * imgWidth + Math.cos(angle * Math.PI/180) * imgHeight;

问题是它只能工作到90度角,而IIIF旋转是0-359的任意值。我理解任何大于或等于180的值都会产生相同的结果,所以无论如何都需要某种模数,但是我不能理解为什么它不能超过90度!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-09 01:41:53

新长方体的尺寸仅根据angle % 90而变化,即椭圆上的300*224和224*300之间,因此您只需使用带有调整后的角度的Math.abs和一些if语句就可以计算出它应该朝哪个方向旋转。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45574239

复制
相关文章

相似问题

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