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 )