Improves support for transparent and/or rotated custom artwork
This commit is contained in:
parent
c22518ce23
commit
98ed657f8a
@ -657,7 +657,7 @@ extension DatabaseManager
|
||||
{
|
||||
let gameURL = game.fileURL
|
||||
|
||||
let artworkURL = gameURL.deletingPathExtension().appendingPathExtension("jpg")
|
||||
let artworkURL = gameURL.deletingPathExtension().appendingPathExtension("png")
|
||||
return artworkURL
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,7 +144,17 @@ extension Game: Syncable
|
||||
}
|
||||
|
||||
public var syncableFiles: Set<File> {
|
||||
let artworkURL = DatabaseManager.artworkURL(for: self)
|
||||
let artworkURL: URL
|
||||
|
||||
if let fileURL = self.artworkURL, fileURL.isFileURL
|
||||
{
|
||||
artworkURL = fileURL
|
||||
}
|
||||
else
|
||||
{
|
||||
artworkURL = DatabaseManager.artworkURL(for: self)
|
||||
}
|
||||
|
||||
let artworkFile = File(identifier: "artwork", fileURL: artworkURL)
|
||||
|
||||
switch self.identifier
|
||||
|
||||
@ -574,7 +574,8 @@ private extension GameCollectionViewController
|
||||
if
|
||||
let image = UIImage(data: imageData),
|
||||
let resizedImage = image.resizing(toFit: CGSize(width: 300, height: 300)),
|
||||
let resizedData = resizedImage.jpegData(compressionQuality: 0.85)
|
||||
let rotatedImage = resizedImage.rotatedToIntrinsicOrientation(), // in case image was imported directly from Files
|
||||
let resizedData = rotatedImage.pngData()
|
||||
{
|
||||
let destinationURL = DatabaseManager.artworkURL(for: game)
|
||||
try resizedData.write(to: destinationURL, options: .atomic)
|
||||
|
||||
@ -19,8 +19,11 @@ struct ClipboardImportOption: ImportOption
|
||||
func `import`(withCompletionHandler completionHandler: @escaping (Set<URL>?) -> Void)
|
||||
{
|
||||
guard UIPasteboard.general.hasImages else { return completionHandler([]) }
|
||||
|
||||
guard let data = UIPasteboard.general.data(forPasteboardType: kUTTypeImage as String) else { return completionHandler([]) }
|
||||
|
||||
guard let image = UIPasteboard.general.image,
|
||||
let rotatedImage = image.rotatedToIntrinsicOrientation(),
|
||||
let data = rotatedImage.pngData()
|
||||
else { return completionHandler([]) }
|
||||
|
||||
do
|
||||
{
|
||||
|
||||
@ -42,7 +42,7 @@ extension PhotoLibraryImportOption: UIImagePickerControllerDelegate, UINavigatio
|
||||
{
|
||||
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])
|
||||
{
|
||||
guard let image = info[.originalImage] as? UIImage, let data = image.jpegData(compressionQuality: 0.85) else {
|
||||
guard let image = info[.originalImage] as? UIImage, let rotatedImage = image.rotatedToIntrinsicOrientation(), let data = rotatedImage.pngData() else {
|
||||
self.completionHandler?([])
|
||||
return
|
||||
}
|
||||
|
||||
2
External/Roxas
vendored
2
External/Roxas
vendored
@ -1 +1 @@
|
||||
Subproject commit b37826bd0f6b5e3b8c019d0d2b41511e7512c0af
|
||||
Subproject commit 2bb3182495f680ce60da8e72c3d84a7d4451ef75
|
||||
Loading…
Reference in New Issue
Block a user