Futurebasic/程式設計/繪圖
要將影像顯示在螢幕上(使用較舊的已棄用方法),您必須將影像檔案包含在專案目錄中,並在專案中包含 Core Graphics 工具箱標頭檔案。還有一個函式可以從 jpg 或 png 檔案建立 CG imageRef。
包含資源 "pBoard.png" 包含 "Tlbx CoreGraphics.incl"
// 從 jpg 或 png 影像建立 CGImageRef [KenS] 區域性 fn createCGImageRef( fileName as CFStringRef ) as CGImageRef
dim as CFURLRef url dim as CGImageRef imageRef : imageRef = 0 dim as CGDataProviderRef dataProvider
url = fn CFBundleCopyResourceURL( fn CFBundleGetMainBundle(), filename, 0, 0 ) 長整型 如果 ( url )
dataProvider = fn CGDataProviderCreateWithURL( url ) long if ( dataProvider )
選擇
case fn CFStringHasSuffix( fileName, fn CFSTR( ".jpg" ) ) imageRef = fn CGImageCreateWithJPEGDataProvider( dataProvider, NULL, _false, _kCGRenderingIntentDefault )
case fn CFStringHasSuffix( fileName, fn CFSTR( ".png" ) ) imageRef = fn CGImageCreateWithPNGDataProvider( dataProvider, NULL, _false, _kCGRenderingIntentDefault )
結束選擇 fn CGDataProviderRelease( dataProvider ) 結束如果 CFRelease( url ) 結束如果
結束 fn = imageRef
在專案中包含了上述函式和包含檔案後,您可以將影像新增到視窗中 - 它採用按鈕的形式,其內容由 CG imageRef 指向的影像設定,如下所示
// 顯示背景影像 dim as rect r dim as ControlButtonContentInfo content SetRect( @r, 20, 20, 532, 532 ) 外觀 按鈕 99, , , "", @r , _kControlImageWellProc content.contentType = _kControlContentCGImageRef content.u.imageRef = fn createCGImageRef( @"pBoard.png" ) fn SetButtonData( 99, _kControlImageWellPart, _kControlImageWellContentTag, SizeOf( content ), content )