mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 06:35:51 +00:00
Refactor PeerInfoUI and related modules
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import Foundation
|
||||
import UIKit
|
||||
import SwiftSignalKit
|
||||
import Postbox
|
||||
import TelegramCore
|
||||
import Display
|
||||
|
||||
public func mapResourceToAvatarSizes(postbox: Postbox, resource: MediaResource, representations: [TelegramMediaImageRepresentation]) -> Signal<[Int: Data], NoError> {
|
||||
return postbox.mediaBox.resourceData(resource)
|
||||
|> take(1)
|
||||
|> map { data -> [Int: Data] in
|
||||
guard data.complete, let image = UIImage(contentsOfFile: data.path) else {
|
||||
return [:]
|
||||
}
|
||||
var result: [Int: Data] = [:]
|
||||
for i in 0 ..< representations.count {
|
||||
if let scaledImage = generateScaledImage(image: image, size: representations[i].dimensions, scale: 1.0), let scaledData = scaledImage.jpegData(compressionQuality: 0.8) {
|
||||
result[i] = scaledData
|
||||
}
|
||||
}
|
||||
return result
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user