Cap blurhash image size at 32x32

This commit is contained in:
Shadowfacts 2022-10-29 11:47:53 -04:00
parent 77a6654ff2
commit e0ffa1d9c5
3 changed files with 23 additions and 12 deletions

View File

@ -100,15 +100,19 @@ class TrendingLinkCardCollectionViewCell: UICollectionViewCell {
guard let hash = card.blurhash else { guard let hash = card.blurhash else {
return return
} }
let imageViewSize = self.thumbnailView.bounds.size
AttachmentView.queue.async { [weak self] in AttachmentView.queue.async { [weak self] in
let size: CGSize let size: CGSize
if let width = card.width, let height = card.height { if let width = card.width, let height = card.height {
size = CGSize(width: width, height: height) let aspectRatio = CGFloat(width) / CGFloat(height)
if aspectRatio > 1 {
size = CGSize(width: 32, height: 32 / aspectRatio)
} else {
size = CGSize(width: 32 * aspectRatio, height: 32)
}
} else { } else {
size = imageViewSize size = CGSize(width: 32, height: 32)
} }
guard let preview = UIImage(blurHash: hash, size: size) else { guard let preview = UIImage(blurHash: hash, size: size) else {
return return
} }

View File

@ -143,13 +143,17 @@ class TrendingLinkTableViewCell: UITableViewCell {
guard let hash = card.blurhash else { guard let hash = card.blurhash else {
return return
} }
let imageViewSize = self.thumbnailView.bounds.size
AttachmentView.queue.async { [weak self] in AttachmentView.queue.async { [weak self] in
let size: CGSize let size: CGSize
if let width = card.width, let height = card.height { if let width = card.width, let height = card.height {
size = CGSize(width: width, height: height) let aspectRatio = CGFloat(width) / CGFloat(height)
if aspectRatio > 1 {
size = CGSize(width: 32, height: 32 / aspectRatio)
} else {
size = CGSize(width: 32 * aspectRatio, height: 32)
}
} else { } else {
size = imageViewSize size = CGSize(width: 32, height: 32)
} }
guard let preview = UIImage(blurHash: hash, size: size) else { guard let preview = UIImage(blurHash: hash, size: size) else {

View File

@ -168,18 +168,21 @@ class StatusCardView: UIView {
private func loadBlurHash() { private func loadBlurHash() {
guard let card = card, let hash = card.blurhash else { return } guard let card = card, let hash = card.blurhash else { return }
let imageViewSize = self.imageView.bounds.size
AttachmentView.queue.async { [weak self] in AttachmentView.queue.async { [weak self] in
guard let self = self else { return } guard let self = self else { return }
let size: CGSize let size: CGSize
if let width = card.width, let height = card.height { if let width = card.width, let height = card.height {
size = CGSize(width: width, height: height) let aspectRatio = CGFloat(width) / CGFloat(height)
if aspectRatio > 1 {
size = CGSize(width: 32, height: 32 / aspectRatio)
} else {
size = CGSize(width: 32 * aspectRatio, height: 32)
}
} else { } else {
size = imageViewSize size = CGSize(width: 32, height: 32)
} }
guard let preview = UIImage(blurHash: hash, size: size) else { guard let preview = UIImage(blurHash: hash, size: size) else {
return return
} }