我正在绘制一个简单的网格,并且我希望最靠近屏幕中心的线以不同的颜色突出显示。
确定画出的线与屏幕中心非常相似的公式是什么?
它不必是确切的中心,只要一个似乎在屏幕中间即可。但它必须是一条被绘制的线。用户可以随时更改网格的大小,因此这条线必须随之移动。
我正在使用不同的笔划颜色在屏幕上绘制一条新线,但我无法确定要重叠哪条线。我可以靠近,但我总是偏离几个像素。
在 Photoshop 中查看这张照片。绿线代表图像的真实中心。粉红色的线是所需的结果(中心线),因为网格不符合屏幕尺寸(查看右侧最后一个网格),网格为 34x34,屏幕尺寸为 320 x 480。
如何绘制网格:
int xStart = 0, yStart = 0;
int gsX = 19; //Distance between lines
int gsY = 25;
// draw vertical lines
for(int xId=0; xId<=(screenWidth/gsX); xId++) {
int x = xStart + xId * gsX;
[gPath moveToPoint:CGPointMake(x, yStart)];
[gPath addLineToPoint:CGPointMake(x, yStart+screenHeight)];
}
// draw horizontal lines
for(int yId=0; yId<=(screenHeight/gsY); yId++) {
int y = yStart + yId * gsY;
[gPath moveToPoint:CGPointMake(xStart, y)];
[gPath addLineToPoint:CGPointMake(xStart+screenWidth, y)];
}
我的中心线代码: 这会根据网格间距值移动线,但不会在靠近中心的线之一上绘制。
int x = (screenWidth/gsX) /2;
NSLog(@"New X: %i gsX: %i",x, gsX);
//Veritical
[centerLines moveToPoint:CGPointMake(x, 0)];
[centerLines addLineToPoint:CGPointMake(x, screenHeight)];