質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

1回答

1636閲覧

UIImageViewについて

退会済みユーザー

退会済みユーザー

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2017/08/06 15:01

swift初心者です
現在簡単な加工アプリを作っています。そこで、画像を回転できるようにする機能をつけました。コードは下記の通りです

@IBAction func rotate(sender: UISlider) { let test = sender.value // 画像を回転 let angle = CGFloat(sender.value) * CGFloat.pi / 180 transRotate = CGAffineTransform(rotationAngle:CGFloat(angle)); cameraImageView.transform = transRotate testLabel.text = "\(test)" }

このようにすると、実際にrunして回転してみるとUIImageViewごと傾いてしまうため、UIImageViewがはみ出てしまうところがあります.
なので、理想の形としてはUIImageViewの傾きは一定で,中にある画像のみ傾きが変わるようにしたいです。(なので、外見は常にスマホの縦や横と平行な長方形になっている)勿論、画像が切れてしまう場合は構いません。

開発環境は

  • xcode8
  • swift3

対象は

  • iPhone
  • iOS10

説明がわかりすらくてすいません

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/08/07 02:56

「UIImageViewがはみ出てしまうところがあります」というのは、どこからはみ出すのでしょうか?「画像が切れてしまう場合は構いません」との違いは何でしょうか?
guest

回答1

0

UIImageViewを回転するのではなくてUIImageを回転したいのですよね。

下記の記事が参考になります。

Swift - UIImageをCoreGraphicsで回転させる

抜粋

Swift

1extension UIImage { 2 func rotate(angle: CGFloat) -> UIImage{ 3 // (1) 4 UIGraphicsBeginImageContextWithOptions(CGSize(width: self.size.width, height: self.size.height), false, 0.0) 5 let context: CGContextRef = UIGraphicsGetCurrentContext()! 6 // (2) 7 CGContextTranslateCTM(context, self.size.width/2, self.size.height/2) 8 // (3) 9 CGContextScaleCTM(context, 1.0, -1.0) 10 11 // (4) 12 let radian: CGFloat = (-angle) * CGFloat(M_PI) / 180.0 13 CGContextRotateCTM(context, radian) 14 // (5) 15 CGContextDrawImage(context, CGRectMake(-self.size.width/2, -self.size.height/2, self.size.width, self.size.height), self.CGImage) 16 17 // (6) 18 let rotatedImage: UIImage = UIGraphicsGetImageFromCurrentImageContext() 19 UIGraphicsEndImageContext() 20 21 return rotatedImage 22 } 23}

投稿2017/08/06 19:35

Tak1016

総合スコア1408

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/07 02:21

そういうことです できれば、swift3の場合だとどのようにして書けばいいか教えていただけませんか?
Tak1016

2017/08/07 02:55

え?やり方を知りたいんじゃなくて?コピペで動くソースを希望なの? swift2から3に翻訳することもめんどくさいの?でそれを人にやらせるの? クレクレ君嫌いー。
退会済みユーザー

退会済みユーザー

2017/08/07 03:16

気分を害してしまったなら申し訳ございません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問