iOS根據圖片比例計算顯示大小
前言
iOS開發中,很多地方使用到圖片瀏覽,這時候就可能需要旋轉螢幕檢視圖片,下面分享一種計算圖片旋轉大小的方法,在此拋磚引玉。
程式碼
func calculationFrame(image: UIImage) -> CGRect {
var x: CGFloat = 0
var y: CGFloat = 0
var width: CGFloat = 0
var height: CGFloat = 0
var screenWidth: CGFloat
var screenHeight: CGFloat
if #available(iOS 11.0, *) {
screenWidth = UIScreen.main.bounds.size.width - self.view.safeAreaInsets.left - self.view.safeAreaInsets.right
} else {
screenWidth = UIScreen.main.bounds.size.width
}
if #available(iOS 11.0, *) {
screenHeight = UIScreen.main.bounds.size.height - self.view.safeAreaInsets.top - self.view.safeAreaInsets.bottom
} else {
screenHeight = UIScreen.main.bounds.size.width
}
let imageWidth = image.size.width
let imageHeight = image.size.height
let widthSpace = fabsf(Float(screenWidth - imageWidth))
let heightSpace = fabsf(Float(screenHeight - imageHeight))
if widthSpace >= heightSpace {
if screenWidth > imageWidth {
width = imageWidth * (screenHeight / imageHeight)
height = imageHeight * (screenHeight / imageHeight)
}else {
width = imageWidth / (imageWidth / screenWidth)
height = imageHeight / (imageWidth / screenWidth)
}
}else {
if screenHeight > imageHeight {
width = imageWidth * (screenWidth / imageWidth)
height = imageHeight * (screenWidth / imageWidth)
}else {
width = imageWidth / (imageHeight / screenHeight)
height = imageHeight / (imageHeight / screenHeight)
}
}
x = (self.view.frame.size.width - width) * 0.5
y = (self.view.frame.size.height - height) * 0.5
return CGRect.init(x: x, y: y, width: width, height: height)
}
效果圖
總結
希望對大家有幫助,demo地址--->>CLDemo
相關文章
- JS控制圖片顯示的大小(圖片等比例縮放)JS
- 圖片設定level-list,根據不同狀態顯示不同圖片
- Android根據螢幕寬度,按比例縮放圖片Android
- 如何設定圖片高度固定,寬度可以根據比例縮放
- (IOS)根據bundle中的檔名讀取圖片iOS
- 根據比例縮放圖片的尺寸不變形程式碼例項
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- iOS Swift 仿微信聊天圖片顯示iOSSwift
- iOS 左滑按鈕(UITableViewRowAction)顯示圖片iOSUIView
- iOS開發之imageView居中顯示圖片iOSView
- 根據身高計算體重
- GridView中控制圖片的顯示大小的例項View
- ImageView的屬性android:scaleType設定最佳比例圖片顯示ViewAndroid
- win10系統圖示大小怎麼調 設定圖示比例大小快捷鍵Win10
- 根據選擇的物料顯示其特性值
- img圖片無法顯示利用onerror事件顯示替代圖片Error事件
- 根據公曆計算農曆
- iOS 讓Label根據其上的文字屬性自適應顯示iOS
- 按比例縮放圖片大小程式碼例項
- WPF TextBlock根據值顯示不同的內容或格式BloC
- js 根據開始日期和結束日期顯示倒數計時JS
- win10怎麼改變圖示大小_win10設定圖示比例大小方法Win10
- iOS開發 如何在Label中顯示圖片-圖文混排iOS
- AXIOS從伺服器載入圖片並顯示iOS伺服器
- 圖片縮放(不裁剪,按原來比例計算寬高)
- 百度地圖根據經緯度計算瓦片行列號地圖
- iOS根據地址在地圖上展示座標iOS地圖
- Android 根據View生成圖片簡易參考AndroidView
- Java——圖片滾動顯示Java
- java 根據經緯度計算圓周Java
- 根據AWR計算IOPS與MBPS
- Android中一張圖片佔據的記憶體大小是如何計算Android記憶體
- opencv圖片上如何顯示兩個小圖片OpenCV
- win7圖片只顯示圖示不顯示預覽圖解決方案Win7圖解
- IOS下圖片不能顯示問題的解決辦法iOS
- iOS根據兩點經緯度座標計算指南針方位角iOS
- html中背景圖按比例縮放全屏顯示HTML
- C# Report根據條件設定顯示顏色C#