javascript – 如何使用raphael自由变换翻转图像?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何使用raphael自由变换翻转图像?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1417字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何使用raphael自由变换翻转图像?](/upload/InfoBanner/zyjiaocheng/779/d5c1e58eb3c74a11a0bad3df047698d0.jpg)
我在我的项目中使用RaphaelJS和Raphael-Free-Transform进行图像处理.在这里,我试图挖掘图像horzoontally.为此,我正在改变自由变换比例值.图像被翻转,但是图像从其原始位置移开并且它也恢复到其原始状态,因此我们也失去了翻转.
码:
$scope.flopImage = function () {
if ($scope.currentImage !== null) {
var ft = paper.freeTransform($scope.currentImage);
ft.attrs.scale.x=-ft.attrs.scale.x;
ft.apply();
}
};
CASE:2
$scope.flopImage = function () {
if ($scope.currentImage !== null) {
var ft = paper.freeTransform($scope.currentImage);
$scope.currentImage.transform("S-1,1");
ft.apply();
}
};
注意:
ft = paper.freeTransform($scope.currentImage,{draw:['bbox'],
rotate: true,keepRatio:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides'],range: { rotate: [ -180, 180 ] },
scale:[ 'axisX', 'axisY', 'bboxCorners', 'bboxSides' ]});
解决方法:
这就是我最终做的事情:
ft = paper.freeTransform(img, ftConfig.opts, ftConfig.callback),
ft.attrs.scale.x *= -1;
ft.apply();
您可以类似地为y轴执行此操作.翻转y轴时.
正如在原始问题中所评论的那样,将keepRatio选项设置为true会导致问题.应用负标度后,旋转图像或尝试调整图像大小时,会发生奇怪的事情.要解决此问题,请应用以下hack(对于我的raphael.free_transform版本,它是第1166行):
function keepRatio(axis) {
return;
if ( axis === 'x' ) {
ft.attrs.scale.y = ft.attrs.scale.x / ft.attrs.ratio;
} else {
ft.attrs.scale.x = ft.attrs.scale.y * ft.attrs.ratio;
}
}
具体来说,添加一个return语句以防止keepRatio修改scale属性.这个黑客仍将保持宽高比
内容总结
以上是互联网集市为您收集整理的javascript – 如何使用raphael自由变换翻转图像?全部内容,希望文章能够帮你解决javascript – 如何使用raphael自由变换翻转图像?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。