簡體   English   中英

需要如何使用iPhone SDK創建/操作圖像像素數據的示例

[英]Need example of how to create/manipulate image pixel data with iPhone SDK

尋找一個簡單的示例或指向教程的鏈接。

假設我有一堆存儲在數組中的值。 我想創建一個圖像並更新我的數組中的圖像數據。 假設數組值是強度數據並且將更新灰度圖像。 假設數組值在0到255之間 - 或者我將它轉換為該范圍。

這不是用於動畫的目的。 而是基於用戶交互來更新圖像。 這是我知道如何在Java中做得很好,但對於iPhone編程來說卻是一個新手。 我已經搜索了一些有關CGImage和UIImage的信息 - 但我對從何處開始感到困惑。

任何幫助,將不勝感激。

我有一個來自我的應用程序的示例代碼,它將數據存儲為unsigned char數組並將其轉換為UIImage:

// unsigned char *bitmap; // This is the bitmap data you already have.
// int width, height; // bitmap length should equal width * height

// Create a bitmap context with the image data
CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceGray();
CGContextRef context = CGBitmapContextCreate(bitmap, width, height, 8, width, colorspace, kCGImageAlphaNone);
CGImageRef cgImage = nil;
if (context != nil) {
    cgImage = CGBitmapContextCreateImage (context);
    CGContextRelease(context);
}
CGColorSpaceRelease(colorspace);

// Release the cgImage when done
CGImageRelease(cgImage);

如果你的顏色空間是RGB,你需要帳號alpha值傳遞kCGImageAlphaPremultipliedLast作為CGBitmapContextCreate函數的最后一個參數。

不要使用kCGImageAlphaLast ,這不起作用,因為位圖上下文不支持未預乘的alpha。

我在這個SO答案中引用的書籍都包含示例代碼以及通過用戶交互進行圖像處理和更新的演示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM