gpt4 book ai didi

ios - 分数 CGPoint 对 Core Graphics 的影响?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:54:45 25 4
gpt4 key购买 nike

我正在做一些相对于缩放图像的绘图,所以我最终得到了分数 CGPoints。我正在缩放 CoreImage 人脸检测例程的结果。

当我在 CGPathAddLineToPoint 调用中使用这些点时,我是想自己舍入这些点还是让 iOS 来做?如果舍入更好,我应该向上舍入还是向下舍入?

我读过有关像素边界等的内容,但我不确定如何在此处应用它。我正在绘制到 CALayer

CGPoint leftEye = CGPointMake((leftEyePosition.x * xScale), 
(leftEyePosition.y * yScale));

//结果

features {
faceRect = "{{92, 144.469}, {166.667, 179.688}}";
hasLeftEyePosition = 1;
hasMouthPosition = 1;
hasRightEyePosition = 1;
leftEyePosition = "{142.667, 268.812}";
mouthPosition = "{176, 189.75}";
rightEyePosition = "{207.333, 269.531}";
}

最佳答案

是否圆,朝什么方向,取决于您要达到的效果。

CoreGraphics本身对于小数坐标是绝对没有问题的。然而,使用分数坐标绘制任何东西最终都会对绘制的对象进行抗锯齿处理。这通常会使它们看起来模糊不清。适本地四舍五入您的坐标是避免这种情况的好主意。

但是请注意。根据您绘制的内容和方式,您可能需要相差 0.5 像素的坐标而不是整数坐标。例如,如果您正在绘制一条线,则该线以您提供的坐标为中心。因此,在整数坐标上绘制的 1 像素线实际上最终将成为 2 像素宽的模糊线(每个像素占线的一半)。要记住的最简单的事情是笔划以坐标为中心,但填充以它们为界。所以在填充矩形时,最好使用整数坐标。描边矩形时,将您的坐标插入 0.5 像素(或者更确切地说,插入您要使用的描边宽度的一半)。

此外,请不要忘记,当绘制要在比例为 2 的视网膜屏幕上显示的图像时,偏移 0.5 个单位的坐标实际上仍在像素边界上。因此,如果您知道它是视网膜,则可以在最近的半单位坐标合适的情况下避免舍入到完全整数坐标。

关于ios - 分数 CGPoint 对 Core Graphics 的影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14449126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com