2013-04-11 20 views
0

我試圖保存TGA圖像。我有數據作爲CGImageRef和使用CFDataCreateMutable得到CFMutableDataRef,但我不知道用什麼類型的參數調用CGImageDestinationCreateWithData。縱觀UTType參考,這些都是它說的類型是由核心圖形支持:使用CGImageDestinationCreateWithData創建TGA

const CFStringRef kUTTypeImage; 
const CFStringRef kUTTypeJPEG; 
const CFStringRef kUTTypeJPEG2000; 
const CFStringRef kUTTypeTIFF; 
const CFStringRef kUTTypePICT; 
const CFStringRef kUTTypeGIF; 
const CFStringRef kUTTypePNG; 
const CFStringRef kUTTypeQuickTimeImage; 
const CFStringRef kUTTypeAppleICNS 
const CFStringRef kUTTypeBMP; 
const CFStringRef kUTTypeICO; 

我會用kUTTypeImage?如果是這樣,我如何讓它知道我想將它編碼爲TGA?我是否應該將其轉換爲中間格式,然後自己進行轉換?

回答

0

事實證明,這些UTI可以從一個字符串創建。所以,對於TGA UTI的代碼將是:

CFStringCreateWithCString(kCFAllocatorDefault, "com.truevision.tga-image", kCFStringEncodingASCII); 

...到位kUTTypeImage

+0

所有尿路感染的都是字符串。除了別的以外,您只需要UTI特定的功能進行比較。此外,該函數創建一個字符串,而不是專門的UTI(沒有「創建UTI」函數);既然你有一個常量字符串,你可以用'CFSTR'宏更容易地創建CFString。 – 2013-04-12 01:01:47