跳转到内容

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 )

华夏公益教科书