A = 父 NSView;B = 子 NSView;
B 有一个小的 NSTrackingArea;B是A的一个小子视图;
如果在空白区域中移动、单击、拖动,A 将正确接收 mouseMoved 和 mouseDragged 事件。
如果我在 B 中单击并将鼠标超出其边界拖动到 A 中,则 A 不会收到任何 mouseMoved 或 mouseDragged 事件。
有人可以指出我可以做些什么来让超级视图 A 对这种阻力做出反应吗?
我想实现以下目标:
将显示的图像部分将被“绘制”(就像用画笔一样),所以我想使用笔触。
我尝试过的: - 不要清除画布 - 使用 globalCompositeOperation = 'destination-in' 将矩形绘制到画布上 这有效,矩形显示图像,但我需要笔划
如果我使用笔画,它们会被“destination-in”忽略,而我会使用正常的 globalCompositeOperation 看到它们。
这是为了忽略笔划吗?是否有解决方法,例如以某种方式将笔画/形状转换为位图?或者我必须使用两个画布元素吗?
在 OpenGL 中,我首先用它的 rgb 值和 a = 0 绘制图像,然后只“绘制”alpha。