24
我正在嘗試在CoreGraphics中處理圖像,然後將處理後的圖像返回到NSImage
進行保存和顯示。我有足夠的資源來說明如何在iOS中執行這些功能,但在NSImage
中似乎缺少了幫助程序方法。在iOS中,類方法是imageWithCGImage:
,您如何在Mac OS中執行此操作?從CGImageRef獲取NSImage
我正在嘗試在CoreGraphics中處理圖像,然後將處理後的圖像返回到NSImage
進行保存和顯示。我有足夠的資源來說明如何在iOS中執行這些功能,但在NSImage
中似乎缺少了幫助程序方法。在iOS中,類方法是imageWithCGImage:
,您如何在Mac OS中執行此操作?從CGImageRef獲取NSImage
NSImage中的匹配方法是initWithCGImage:size:
。
第二個參數以圖像的大小爲單位。以像素爲單位(CGImage)的大小與以點爲單位的大小之間的因子是比例因子。因此,例如,如果您有100×100px的CGImage,並且傳遞的尺寸爲(NSSize){ 50.0, 50.0 }
,則該圖像的大小將爲50個點,並且分辨率爲雙精度。
通常,您應該僅以像素爲單位(從CGImage)以大小爲單位傳遞大小。對於處理多個比例因子,最好使用帶有多個NSImageReps的單個NSImage,比如從大多數類型的-[NSWorkspace iconForFileType:]
中獲得的內容或從典型的圖標文件中創建NSImage。
NSZeroSize是「與CGImage大小相同」的簡寫形式。 – Ken 2012-02-02 04:25:53
@Ken謝謝Ken,這是關鍵信息! – 2013-02-07 20:38:02