菜鸟教程小白 发表于 2022-12-12 15:52:54

ios - C4裁剪图像发生了一些奇怪的事情


                                            <p><p>我认为这会很直接,但似乎不是。</p>

<p>我在尝试像这样裁剪图像时注意到的事情:</p>

<pre><code>#import &#34;C4Workspace.h&#34;

@implementation C4WorkSpace{
    C4Image *image;
    C4Image *copiedImage;
}

-(void)setup {
    image=;
    //image.width=200;
    image.origin=CGPointMake(0, 20);
    C4Log(@&#34;       image width %f&#34;, image.width);
    //;

    copiedImage=;
    ;
    copiedImage.origin=CGPointMake(0, 220);
    ];
    C4Log(@&#34;copied image width %f&#34;, copiedImage.width);
}

@end
</code></pre>

<ol>
CGRectMake的<li><p><strong>origin</strong>(x和y坐标)不是从左上角开始,而是从左下角开始,然后高度上升而不是下降。</p ></li>
<li><p><strong>裁剪图像的大小</strong>实际上与原始图像相同。我想图像并没有真正被裁剪,而只是被蒙版?</p></li>
<li><p><strong>不同的比例</strong> 在上面的示例中,我实际上没有指定任何比例,但是原始图像和裁剪后的图像没有相同的比例。为什么?</p></li>
</ol>

<p>我实际上想知道这个函数到底有什么用处......似乎进入原始图像数据以裁剪图像的某些部分实际上更有意义,而不必猜测哪个该区域已被裁剪/蒙版,以便我知道图像实际保留在哪里...</p>

<p>或者我做错了什么? (我找不到任何关于裁剪图像的示例,所以这就是我所做的......)</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您发现在您的图像上运行的 <code>crop:</code> 过滤器的预期实现中存在错误。 </p>

<p>1) <code>crop:</code> 方法实际上是使用Core Graphics 完成的一个实现,专门在您的原始图像上运行Core Image 过滤器(CIFilter)。 Core Graphics 中 (0,0) 的位置位于图像的<strong>左下</strong>角。这就是原点关闭的原因。</p>

<p>2) 是的。我不确定这是否应该被视为错误或功能,我需要考虑一下...这实际上与“过滤器”的设计方式有关。</p>

<p>3) 由于 <code>crop:</code> 构建方式的错误,过滤器没有考虑到图像比例应该为 2.0 的事实,并且它正在重新渲染为 1.0 (它不应该这样做)</p>

<p>最后,您发现了一个错误。我已将其列在此处进行修复:</p>

<p> <a href="https://github.com/C4Framework/C4iOS/issues/110" rel="noreferrer noopener nofollow">https://github.com/C4Framework/C4iOS/issues/110</a> </p>

<p>我相信,造成很多困惑的原因是我最初在不是视网膜的设备/模拟器上工作时为 C4Image 构建了过滤器方法。我还没有机会重新审视它们是如何构建的,之前也没有关于这个问题的任何问题!</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - C4裁剪图像发生了一些奇怪的事情,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19512813/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19512813/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - C4裁剪图像发生了一些奇怪的事情