macOS实时扫描/检测屏幕

时间:2019-05-30 16:53:32

标签: macos cocoa

有些应用程序可以扫描屏幕并实时检测事物。例如,macOS预装了应用程序“ Digital Color Meter”。我可以移动光标,应用程序会立即检测到光标周围区域中的颜色。所以我的问题是,我该怎么做?如何“扫描”屏幕并实时检测所选区域中的对象或颜色?我找不到解决方法。

1 个答案:

答案 0 :(得分:1)

数字色度计仅捕获屏幕的一个小方块。如果您只需要这些,请尝试CGDisplayCreateImageForRect,看看它是否足够快。

如果这还不够快,请查看CGDisplayStreamCreateCGDisplayStreamCreateWithDispatchQueue开头的class Product(models.Model): destination = models.CharField(max_length=255, default='') title = models.CharField(max_length=255, default='') slug = models.SlugField(null=True, blank=True, unique=True, max_length=255, default='') description = models.TextField(max_length=2000, default='') link = models.TextField(max_length=500, default='') ptags = TaggableManager() image = models.ImageField(max_length=500, default='images/zero-image-found.png') timestamp = models.DateTimeField(auto_now=True) def get_absolute_url(self): return reverse('experience', kwargs={'slug': self.slug}) def save(self, *args, **kwargs): if not self.id: self.slug = slugify(self.title) super(Product, self).save(*args, **kwargs) def __str__(self): return self.destination 函数。这些功能比CGDisplayStream复杂得多,您必须了解CGDisplayCreateImageForRect才能从IOSurfaceRef获取像素数据。