Web sayfasının görüntülediği görüntüyü yakalamaya çalışıyorum, bu yüzden web sayfasının bazı renk analizlerini yapabilirim. Ben, yani ana görüntüyü elde etmeye çalışmak zaman, temelde sayfa render olsa bile, beyaz bir kutu alıyorum: Ben gerçek özelliklerine erişim elde edemez gibiWKWebView Ekran resimleri
func makeImageSnapshot()-> (NSImage)
{
let imgSize = self.view.bounds.size
let bir = self.viewbitmapImageRepForCachingDisplayInRect(self.webView!.view.bounds)
bir.size = imgSize
self.webView.cacheDisplayInRect(self.view.bounds, toBitmapImageRep:bir)
let image = NSImage(size:imgSize)
image.addRepresentation(bir)
self.image = image
return image
}
func saveSnapshot()
{
let imgRep = self.image!.representations[0]
let data = imgRep.representationUsingType(NSBitmapImageFileType.NSPNGFileType, properties: nil)
data.writeToFile("/tmp/file.png", atomically: false)
}
Bana bakıyor webView içindeki görünümü (bu durumda sınırlar). Bunu erişmeye çalıştığınızda, derleyici Barfs:
/Users/josh/Canary/MacOsCanary/canary/canary/Modules/Overview/Overview.swift:55:37: '(NSView !, stringForToolTip: NSToolTipTag, nokta : NSPoint, kullanıcıData: UnsafePointer <()>) -> Dize! ' "Sınırları"
adında bir üyeye sahip değil. Bu durumun OS X ve iOS tarafından kullanılan uzantı yaklaşımı nedeniyle gerçekleştiği tahmin ediliyor. Herhangi bir fikir mi yoksa eski Web Görüntülemeyi kullanmaya mı dönmeliyim?
Bir String'deki "sınırlar" a erişmeye çalışıyorsunuz. – nhgrif
@Josh iOS için bir çözüm buldunuz mu? Şu anda snapshotViewAfterScreenUpdates kullanıyorum. Ama web görüntülendikten sonra onu aramak zorundayım, bu yüzden didFinishNavigation'da 0.1 sn bekliyorum ve snapshotViewAfterScreenUpdates'i çağırıyorum. Çok rahat ve güvenilir değil ( – sidslog