// // Frame.swift // LiveApple // // Created by Shadowfacts on 9/24/22. // import Foundation import CoreGraphics // a frame of video, encoded as 1 pit per pixel struct Frame: Codable, Hashable { // each UInt64 is a row let data: [UInt64] let width: Int var height: Int { data.count } func createImage() -> CGImage { var data = [UInt32](repeating: 0, count: width * height) for row in 0..> col) & 1 == 1 { data[row * width + col] = 0xffffffff } } } return data.withUnsafeMutableBytes { ptr in let context = CGContext(data: ptr.baseAddress, width: width, height: height, bitsPerComponent: 8, bytesPerRow: 4 * width, space: CGColorSpaceCreateDeviceRGB(), bitmapInfo: CGImageAlphaInfo.noneSkipFirst.rawValue)! return context.makeImage()! } } }