我的屏幕等于想要捕捉的SceneView的大小
let screen = CGRect(x: 0, y: 0, width: sceneView.frame.size.width, height: sceneView.frame.size.height - 60)
关于大小,我遇到一个"无法使用类型(CGRect)的参数列表调用类型为CGFloat的初始值设定项。我该如何解决此错误?
func Screenshot()
{
UIGraphicsBeginImageContextWithOptions(UIScreen.main.bounds.size, false, CGFloat(screen))
view.layer.render(in: UIGraphicsGetCurrentContext()!)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
UIImageWriteToSavedPhotosAlbum(image!, nil, nil, nil)
}
答案 0 :(得分:1)
您已将错误的参数类型传递给<div class="flip3d">
<div value="play" onMouseOver="play('audio1');" onMouseOut="stop();" class="back"><p>Mshiimin maaba</p>
<audio id="audio1" src="../../soundbites/Giigoon.mp3"></audio>
</div>
<div class="front"><img src="pics/Apple-Fruit-PNG-File.png" width="200px" height="200px" alt="red apple"/></div>
</div>
<div class="flip3d">
<div value="play" onMouseOver="play('audio2');" onMouseOut="stop();" class="back"><p>Emtigoonhsibigak maaba</p>
<audio id="audio2" src="../../soundbites/Jidmoonh.mp3"></audio>
</div>
<div class="front"><img src="pics/Broccoli-PNG-File.png" width="210px" height="200px" alt="broccoli"/></div>
</div>
的参数。最后一个参数是CGFloat类型,它接受浮点值,但是你传递了CGRect类型的值(屏幕)。
UIGraphicsBeginImageContextWithOptions
具有以下参数参数
UIGraphicsBeginImageContextWithOptions
参数的
<强>大小强>
新位图上下文的大小(以点为单位)。这表示UIGraphicsGetImageFromCurrentImageContext函数返回的图像的大小。要获取位图的大小(以像素为单位),必须将width和height值乘以scale参数中的值。
<强>不透明强>
布尔标志,指示位图是否不透明。如果您知道位图是完全不透明的,请指定YES以忽略Alpha通道并优化位图的存储。指定NO意味着位图必须包含一个alpha通道来处理任何部分透明的像素。
<强>尺度强>
应用于位图的比例因子。如果指定值0.0,则比例因子将设置为设备主屏幕的比例因子。
此处Apple的此功能文档:UIGraphicsBeginImageContextWithOptions
解决方案(提示):传递值0.0或1.0而不是屏幕并查看。
void UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale)