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 gameURL = game.fileURL
|
||||||
|
|
||||||
let artworkURL = gameURL.deletingPathExtension().appendingPathExtension("jpg")
|
let artworkURL = gameURL.deletingPathExtension().appendingPathExtension("png")
|
||||||
return artworkURL
|
return artworkURL
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -144,7 +144,17 @@ extension Game: Syncable
|
|||||||
}
|
}
|
||||||
|
|
||||||
public var syncableFiles: Set<File> {
|
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)
|
let artworkFile = File(identifier: "artwork", fileURL: artworkURL)
|
||||||
|
|
||||||
switch self.identifier
|
switch self.identifier
|
||||||
|
|||||||
@ -574,7 +574,8 @@ private extension GameCollectionViewController
|
|||||||
if
|
if
|
||||||
let image = UIImage(data: imageData),
|
let image = UIImage(data: imageData),
|
||||||
let resizedImage = image.resizing(toFit: CGSize(width: 300, height: 300)),
|
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)
|
let destinationURL = DatabaseManager.artworkURL(for: game)
|
||||||
try resizedData.write(to: destinationURL, options: .atomic)
|
try resizedData.write(to: destinationURL, options: .atomic)
|
||||||
|
|||||||
@ -20,7 +20,10 @@ struct ClipboardImportOption: ImportOption
|
|||||||
{
|
{
|
||||||
guard UIPasteboard.general.hasImages else { return completionHandler([]) }
|
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
|
do
|
||||||
{
|
{
|
||||||
|
|||||||
@ -42,7 +42,7 @@ extension PhotoLibraryImportOption: UIImagePickerControllerDelegate, UINavigatio
|
|||||||
{
|
{
|
||||||
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any])
|
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?([])
|
self.completionHandler?([])
|
||||||
return
|
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