UIImageViewで画像のみを回転することはできますか?私はそれについての情報を探していますが、UIImageVeiwを回転させる方法についての情報しか見つかりませんでした。UIImageViewで画像を回転する
7
A
答えて
15
画像を次のコードで回転できます。ここ
UIImage* img = [UIImage imageWithCGImage: imageRef];
myImageView.image = img;
:注は、これはあなたが回転した画像を取得したら、あなたはこのようなあなたの新しい回転した画像にImageViewのの画像を設定することができます
CGImageRef imageRef = [self CGImageRotatedByAngle:[image CGImage] angle:30];
を経由してUIImageから取得することができますCGImageRefを使用していますimageRefを回転させる方法であって、
- (CGImageRef)CGImageRotatedByAngle:(CGImageRef)imgRef angle:(CGFloat)angle
{
CGFloat angleInRadians = angle * (M_PI/180);
CGFloat width = CGImageGetWidth(imgRef);
CGFloat height = CGImageGetHeight(imgRef);
CGRect imgRect = CGRectMake(0, 0, width, height);
CGAffineTransform transform = CGAffineTransformMakeRotation(angleInRadians);
CGRect rotatedRect = CGRectApplyAffineTransform(imgRect, transform);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef bmContext = CGBitmapContextCreate(NULL,
rotatedRect.size.width,
rotatedRect.size.height,
8,
0,
colorSpace,
kCGImageAlphaPremultipliedFirst);
CGContextSetAllowsAntialiasing(bmContext, YES);
CGContextSetShouldAntialias(bmContext, YES);
CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh);
CGColorSpaceRelease(colorSpace);
CGContextTranslateCTM(bmContext,
+(rotatedRect.size.width/2),
+(rotatedRect.size.height/2));
CGContextRotateCTM(bmContext, angleInRadians);
CGContextTranslateCTM(bmContext,
-(rotatedRect.size.width/2),
-(rotatedRect.size.height/2));
CGContextDrawImage(bmContext, CGRectMake(0, 0,
rotatedRect.size.width,
rotatedRect.size.height),
imgRef);
CGImageRef rotatedImage = CGBitmapContextCreateImage(bmContext);
CFRelease(bmContext);
[(id)rotatedImage autorelease];
return rotatedImage;
}
6
ImageViewのレイヤーを回転させてみてください。 QuartzCoreライブラリをインポートしてアクセス可能にする必要があります。
myImageView.layer.transform = CGAffineTransformMakeRotation (1.5);
+1
は 'setAffineTransform' – fabian789
5
それは私の作品、これを試してください:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationRepeatCount:10];
myImgView.transform = CGAffineTransformMakeRotation(M_PI);
[UIView commitAnimations];
幸運!
1
次のコードスウィフトと正常に動作します:
let img = UIImage(CGImage: self.imageView.image!.CGImage, scale: 1.0, orientation: UIImageOrientation.Right)
self.imageView.image = img
self.imageView.setNeedsLayout()
0
あなたは以下を使用することができますローカライズのために画像を反転/回転させる必要がある場合: imageView.image = imageView.image?.imageFlippedForRightToLeftLayoutDirection()
関連する問題
- 1. 無限回転画像の背景UIImageView
- 2. iPhone - 画像がUIImageViewに回転しないようにする
- 3. 画像回転()
- 4. UIImageView回転イメージ
- 5. UIImageview回転アニメーション
- 6. 画像を回転させずにバイキュービック補間で画像を回転する
- 7. CSSで画像を回転
- 8. ffmpegで画像を回転
- 9. javascriptで画像を回転
- 10. Raphael.jsで画像を回転
- 11. TapGestureでUIImageViewを回転
- 12. 画像を回転し、回転状態で画像を保存します
- 13. 画像の回転
- 14. 画像の回転
- 15. 逆回転画像
- 16. Windows Phoneで画像を回転する
- 17. Facebookで画像を回転する
- 18. Divs間で画像を回転する
- 19. Matplotlibで画像を回転する
- 20. Javascriptで画像を回転する
- 21. HTML5キャンバスで画像を回転する
- 22. 画像をブレンドせずにタイマーで画像を回転する
- 23. Objective-C - 画像の割合を失うことなく、UIImageView内の画像を回転する
- 24. 画像の自動回転は画像のピクセルを回転させますか?
- 25. 別のUIImageview回転に応じてUIImageviewを回転させます。
- 26. 画像を180度回転する
- 27. 画像とテキストを回転する
- 28. UIImageViewを回転するには?
- 29. キャンバスアニメーション画像の回転
- 30. Android ||ビットマップ画像の回転
感謝を使用していました君は。それはまさに私が欲しいものです。 – murzynpl
私が最近したように誰かが予期せぬ結果に直面するかもしれません - 最終的なイメージは元のサイズを失い、コーナーを切り取っていました。だから私はslighlty正しい結果を得るために関数を変更しました。誰かが私の解決策を知りたいのであれば、http://stackoverflow.com/questions/19219855/uiimageview-get-transformed-uiimage/19221081#19221081 – heximal
回転イメージのサイズは、先にコメントしたように変更されます。上記のコードには小さなバグがあります。 CGContextTranslateCTMとCGContextDrawImageの最後の呼び出しでは、roundedRect.size.widthとrounded.size.heightではなく元の幅と高さを使用する必要があります。一度これを行うと、上のコードは完全に動作します。理由 - 回転された矩形を含むctxtが作成され、原点が中心に移動し、元の画像の向きと一致するように逆回転します。この時点で元の画像の座標系に戻す必要があります。 – matangs