我正在开发一个应用程序,它具有通过拖动右下角按钮来调整和旋转imageview的功能。
我看到一个应用程序,它有一个功能,如果我们拖动右下角的按钮对角,imageview大小已经调整,或者如果我们拖动按钮向左或向右的方向,imageview已经按照方向旋转。我希望在我的应用程序中实现此功能
我正在努力实现单指旋转以及调整imageview的大小。
我可以通过拖动它的右下角按钮成功地实现调整图像视图的大小。但是我没有足够的知识来为图像视图添加旋转
请以正确的方式引导我。
我添加了下面的代码,用于通过拖动其右角来调整图像视图的大小。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch = [[event allTouches] anyObject];
touchStart = [[touches anyObject] locationInView:imageView];
isResizingLR = (containerVw.bounds.size.width - touchStart.x < kResizeThumbSize && containerVw.bounds.size.height - touchStart.y < kResizeThumbSize);
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
CGPoint touchPoint = [[touches anyObject] locationInView:imageView];
CGPoint previous=[[touches anyObject]previousLocationInView:imageView];
UITouch *touch = [[event allTouches] anyObject];
float deltaWidth = touchPoint.x-previous.x;
float deltaHeight = touchPoint.y-previous.y;
if (isResizingLR) {
containerVw.frame = CGRectMake(containerVw.frame.origin.x, containerVw.frame.origin.y,touchPoint.x + deltaWidth, touchPoint.y + deltaWidth);
imageView.frame = CGRectMake(imageView.frame.origin.x, imageView.frame.origin.y,touchPoint.x + deltaWidth, touchPoint.y + deltaWidth);
dragIm.frame = CGRectMake(containerVw.frame.size.width-10, containerVw.frame.size.height-10,20,20);
if (!isResizingLR) {
containerVw.center = CGPointMake(containerVw.center.x + touchPoint.x touchStart.x,containerVw.center.y + touchPoint.y - touchStart.y);
}
}
这可能会有所帮助,https://github.com/zedoul/ZDStickerView.
IQStickerView具有OneFingerRotation、Scale、Resize和Close功能。
特征:
我已修复此问题,并将此控件上载到cocoacontrols中
http://www.cocoacontrols.com/controls/tdresizerview
和示例代码
https://www.dropbox.com/s/yb0vzy0wao52bgt/SampeResizeView.zip
更新的答案
https://www.cocoacontrols.com/controls/zdstickerview
我遇到了和你一样的障碍,所以我开发了自己的模块ZDStickerView。这将是一个很好的参考。
首先,确保视图的自动调整大小Mask应该是灵活的。
autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
否则,调整大小将无法正常工作。
其次,我建议您使用“CGAffineTransformMakeRotation”和“atan2”函数来解决旋转问题,如下所示:
float ang = atan2([recognizer locationInView:self.superview].y - self.center.y,
[recognizer locationInView:self.superview].x - self.center.x);
float angleDiff = deltaAngle - ang;
self.transform = CGAffineTransformMakeRotation(-angleDiff);
第三,确保使用相对坐标,如下所示:
self.transform = CGAffineTransformMakeRotation(-angleDiff);
当使用sharp image resize库https://github.com/lovell/sharp for Node.js时,图像将被旋转。 我没有写.rotate()的代码,那么为什么要旋转它,我怎样才能阻止它旋转呢? 我使用的是AWS提供的无服务器图像大小调整示例:https://github.com/awslabs/serverless-image-resizing。如果缩略图不存在
问题内容: 在我的应用程序中,我在div中有一个图像,一个按钮。 我想旋转显示的图像,并在使用jquery单击按钮时保存旋转的图像。 我已经使用了代码: http://code.google.com/p/jquery-rotate/ 和jQuery代码: html代码: 当我使用上述代码时,有两个图像,一个是旧图像,另一个是旋转图像。 在这里我想旋转相同的图像并仅显示旋转的图像。并将旋转的图像保存
我有一个iPhone应用程序,它使用一个UINavigationController来呈现一个深入的界面:首先是一个视图,然后是另一个视图,最多四层。我希望前三个视图限制为纵向,并且只允许最后一个视图旋转为横向。当从第四个视图返回到第三个视图时,第四个视图是横向的,我希望所有的东西都旋转回纵向。 在iOS5中,我简单地在我的每个视图控制器中定义了以返回YES作为允许的方向。一切都如上所述工作,包括
问题内容: 我正在从磁盘读取图像,并将其显示在一行中。图像文件大于行中需要显示的图像文件。由于我需要将RAM 缓存在内存中以加快访问速度,因此我希望它们的大小只能与s 一样大(85x85 dip) 现在我正在读文件 位图= BitmapFactory.decodeFile(file); 而ImageView负责缩放和裁剪它 android:scaleType =“ centerCrop” AFAI
问题内容: 我需要调整PNG,JPEG和GIF文件的大小。如何使用Java做到这一点? 问题答案: 加载图像后,你可以尝试:
问题内容: 我在这里使用Go调整大小包:https://github.com/nfnt/resize 我正在从S3中提取图像,如下所示: // this gives me data []byte 之后,我需要调整图像大小: // problem is that the original_image has to be of type image.Image 将图像上传到我的S3存储桶 // pro