菜鸟教程小白 发表于 2022-12-12 22:29:21

objective-c - 防止 UIImage 调整大小时 - drawInRect : is called


                                            <p><p>我在 <code>-drawRect:</code> 中渲染 UIImage,并通过在 UIImage 上调用 <code>drawInRect: rect</code> 将其放置在传入的 <code>CGRect</code> 中.它会自动调整大小并自行拉伸(stretch),这是我不想要的。我怎样才能保持它原来的大小? </p>

<pre><code>UIImage* left = ;
UIImage* center = ;
UIImage* right = ;

UIImage* leftCapStretched = ;
UIImage* rightCapStretched = ;   

CGFloat fullWidth = leftCapStretched.size.width + center.size.width + rightCapStretched.size.width;

UIGraphicsBeginImageContextWithOptions(CGSizeMake(fullWidth, center.size.height), NO, 0);
;
;
;
UIImage* callout = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

;
</code></pre>

<p>基本上发生的情况是中心图像在大写拉伸(stretch)时应保持原始大小,但中心正在拉伸(stretch)并且大写拉伸(stretch)不够。我注意到如果我将 <code>fullWidth</code> 乘以 2,它会将中心缩小到更接近应有的位置。</p>

<p>编辑:在阅读文档后更简单地询问,有没有办法在调用 <code>drawInRect:</code> 时阻止 UIImage 缩放以适应矩形? </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这可以通过将图像大小属性传递给 <code>drawInRect:</code></p> 来完成

<p>e.x:</p>

<pre><code>;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于objective-c - 防止 UIImage 调整大小时 - drawInRect : is called,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/12007519/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/12007519/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: objective-c - 防止 UIImage 调整大小时 - drawInRect : is called