iPhone:旋转后抗锯齿
我已将图像加载到狭窄的 UIImageView 中 - 宽度为 3px,高度约为。 10
然后我旋转了视图 - 我得到了不令人愉快的图片,视觉失真(例如 http://upload.wikimedia.org/wikipedia/commons/f/fd/Anti-aliased-diamonds.png 位于左侧 图片)。 有办法解决吗? Quartz 可以对图片进行抗锯齿处理吗?
I've load an image into narrow UIImageView - the width is 3px, the height is approx. 10
Then I've rotate the view - and I've got not pleasant picture, with visual distortion (like http://upload.wikimedia.org/wikipedia/commons/f/fd/Anti-aliased-diamonds.png on the left part of picture).
Is any way to fix it? Does Quartz let anti-alias pictures?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您使用 UIView 的
transform
属性进行旋转或通过视图的layer
进行旋转:您可以直接使用quartz 的 api 产生出色的外观结果。您可以使用石英图像处理创建更高质量的图像,该处理创建新图像并通过抗锯齿指定高质量的变换和渲染。
此图像处理可以通过多种方式实现,例如
CGContextRotateCTM
后跟CGContextDrawImage
,然后使用CGBitmapContextCreateImage
访问新图像。或者,您可能更喜欢将图像直接绘制到上下文,而不是创建中间体。
if you are rotating using UIView's
transform
property or rotating via the view'slayer
: you can produce superior looking results with quartz's apis directly.you can create a higher quality image using a quartz image process which creates a new image and specify high quality with anti-aliasing for the transform and rendering.
this image process could be implemented many ways, such as
CGContextRotateCTM
followed byCGContextDrawImage
, then accessing the new image withCGBitmapContextCreateImage
.alternatively, you may prefer to draw the image directly to the context rather than creating an intermediate.