2016-02-21 52 views
1

我試圖從已獲取的數據集中創建一個圖像(8位灰度位圖?)(它具有xy座標和實際像素數據信息0-255)。使用Swift以數據陣列爲單位以像素爲單位創建圖像

現在我想通過使用蘋果的可可/基金會/等。 Swift中的框架,但我似乎無法理解它甚至有可能的想法。

除了創建這個簡單的灰度圖像,我真的不需要做任何額外的圖像操作。

所以基本的工作流程是這樣的:

  1. 初始化圖像由大小爲8位灰度
  2. 填充每個像素與從陣列
  3. 適當信息的圖像保存到文件中

回答

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) 
0

如果你有圖像的[UINT8]表示你的代碼看起來就像這樣:

let imgBytes = // image array [UInt8] 
let imgData = NSData(bytes: imgBytes, length: imgBytes.count) 
UIImage(data: imgData) 
+0

謝謝你的建議。我開始對這個問題稍微思考一下,我設法得到了我現在想要的東西。見下文。 –

相關問題