Skip to content

Instantly share code, notes, and snippets.

@bubudrc
Forked from BrentMifsud/Image+Data.swift
Created January 30, 2023 15:00
Show Gist options
  • Select an option

  • Save bubudrc/c00e3e6060854c74bb46e87bd0f6281a to your computer and use it in GitHub Desktop.

Select an option

Save bubudrc/c00e3e6060854c74bb46e87bd0f6281a to your computer and use it in GitHub Desktop.

Revisions

  1. Brent Mifsud revised this gist Jul 12, 2021. 1 changed file with 11 additions and 3 deletions.
    14 changes: 11 additions & 3 deletions Image+Data.swift
    Original file line number Diff line number Diff line change
    @@ -1,13 +1,21 @@
    import Foundation
    import SwiftUI
    #if canImport(UIKit)
    import UIKit
    #elseif canImport(AppKit)
    import AppKit
    #endif

    extension Image {
    /// Initializes a SwiftUI `Image` from data.
    /// Initializes a SwiftUI `Image` from data.
    init?(data: Data) {
    #if os(iOS) || os(watchOS) || os(tvOS)
    #if canImport(UIKit)
    if let uiImage = UIImage(data: data) {
    self.init(uiImage: uiImage)
    } else {
    return nil
    }
    #elseif os(macOS)
    #elseif canImport(AppKit)
    if let nsImage = NSImage(data: data) {
    self.init(nsImage: nsImage)
    } else {
  2. Brent Mifsud created this gist Feb 20, 2021.
    20 changes: 20 additions & 0 deletions Image+Data.swift
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,20 @@
    extension Image {
    /// Initializes a SwiftUI `Image` from data.
    init?(data: Data) {
    #if os(iOS) || os(watchOS) || os(tvOS)
    if let uiImage = UIImage(data: data) {
    self.init(uiImage: uiImage)
    } else {
    return nil
    }
    #elseif os(macOS)
    if let nsImage = NSImage(data: data) {
    self.init(nsImage: nsImage)
    } else {
    return nil
    }
    #else
    return nil
    #endif
    }
    }