我是否尝试从我获取的数据集中创建一个图像(8位灰度位图?)(它具有xy坐标和实际的像素数据信息0-255)。
现在我想通过使用Apple的Cocoa / Foundation /等来实现这一目标。 Swift中的框架,但我似乎无法理解它是如何实现的。
除了创建这个简单的灰度图像之外,我真的不需要做任何额外的图像处理。
所以基本工作流程看起来像这样:
答案 0 :(得分:1)
这里有一段代码,我把它拼凑在一起,实际上用我的数据保存了一个bmp文件。所以它确实有效。我认为绝对不是好的代码。但我只想尝试一个有效的例子,我稍后会对此进行改进。
var myImageDataArray : [UInt8] = [167, 241, 217, 42, 130, 200, 216, 254, 67, 77, 152, 85, 140, 226, 179, 71]
let dataProv = CGDataProviderCreateWithData(nil, myImageDataArray, myImageDataArray.count, nil)
let myCG = CGImageCreate(4, 4, 8, 8, 4, CGColorSpaceCreateWithName(kCGColorSpaceGenericGrayGamma2_2), CGBitmapInfo.ByteOrderDefault, dataProv, nil, false, CGColorRenderingIntent.RenderingIntentDefault)
let testTIFF = NSBitmapImageRep(CGImage: myCG!)
let mynewData = testTIFF.representationUsingType(NSBitmapImageFileType.NSTIFFFileType, properties: [NSImageCompressionMethod: 1])
mynewData?.writeToFile("testTIFF.tiff", atomically: false)
答案 1 :(得分:0)
如果你有一个[UInt8]图像表示,你的代码将如下所示:
let imgBytes = // image array [UInt8]
let imgData = NSData(bytes: imgBytes, length: imgBytes.count)
UIImage(data: imgData)