我有一个 NSScrollview,里面有一个大的 imageview。我试图以编程方式在 nsscrollview 内的 imageview 上绘制一个 imageview。可以这样想。我在 NSScrollView 中有一个世界地图(NSImageView)。用户从下拉列表中选择一个国家,我在世界地图(NSImageview)中获得该国家的(x,y)点。现在我必须在给定 (x,y) 点的世界地图上绘制一个小图像(一个红色指针)。问题是当我绘制图像时,它被绘制在错误的区域。
self.pimg = [[NSImageView alloc] initWithFrame:NSMakeRect (0, 0, 30, 30)];
[self.pimg setImage: image];
//self.pimg is the pointing image to be drawn over the worldmap
[self.pimg setImageFrameStyle:NSImageFrameNone];
[self.pimg setImageScaling:NSOnState];
//
[self.scrollView.contentView addSubview:self.pimg];
我输入 (0,0) 作为 x,y 以检查它是否被绘制在原点上。它被绘制在屏幕中间的某个地方。
编辑:它被绘制在滚动视图的原点。如何将这些点转换为大图像的点?