Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import CoreGraphics
- import CoreImage
- public struct ImageBufferMaker {
- let image: CIImage
- public init(image: CIImage) {
- self.image = image
- }
- public func makeBuffer() -> [UInt8] {
- let context = CIContext()
- let ciimage = image
- let dimension = ciimage.extent.width * ciimage.extent.height
- var bitmap = [UInt8](repeating: 0, count: 4 * Int(dimension)) // 4 'инта по 8 бит' на пиксель
- context.render(ciimage,
- toBitmap: &bitmap,
- rowBytes: 4 * Int(ciimage.extent.width),
- bounds: ciimage.extent,
- format: CIFormat.RGBA8,
- colorSpace: CGColorSpaceCreateDeviceRGB()
- )
- return bitmap
- }
- }
- // Usage
- let text = "/Users/yourname/Desktop/image.jpg"
- let url = URL(fileURLWithPath: text)
- let photo = CIImage(contentsOf: url)!
- let buffer = ImageBufferMaker(image: photo).makeBuffer()
- print("buffer: \(buffer)")
Advertisement
Add Comment
Please, Sign In to add comment