微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 使用monotouch的像素完美图像

背景:

我需要对如何使用MonoTouch在iOS设备上呈现像素完美图像有一个基本的了解.我对iOS生态系统的理解目前是有限的,在过去的18年里,它是Windows平台的开发者.据我所知,有一个共同的坐标系统,无论是视网膜显示器还是旧的“iPhone 3g”显示器,都可以呈现相同的视图.

问题是:

使用MonoTouch生成和显示图像而不会出现模糊或失真的最佳方法是什么?

// AnkMannen

解决方法:

您需要了解的第一件事是iOS的视网膜显示系统.

所有控件都以坐标布局,就像它们是3GS / iPad 2或更早版本一样.具有视网膜显示器的设备(例如iPhone 4,5和iPad 3)都使用这些相同的坐标,但屏幕尺寸加倍.

对于您的图像,请使用PNG.您将拥有2套,一套用于较小的显示屏,另一套用于视网膜显示屏. Apple使用文件命名约定:

> yourImage.png – 3GS的小图片
> [email protected] – 视网膜显示的放大图像

假设图像尺寸较小,为150像素乘50像素.要从C#正确显示它:

//This code is in the ViewDidLoad method of a UIViewController
var imageView = new UIImageView(new RectangleF(0, 0, 150, 50));
imageView.Image = UIImage.FromFile ("yourImage.png");
View.AddSubView(imageView);

iOS将加载适当大小的图像(通过命名约定)并将其放在屏幕的左上角.保持imageView的正确大小也可以防止任何失真.在视网膜显示器上,iOS将加载较大的300×100图像,并且看起来相同(除了更锐利)与较小尺寸的屏幕并排.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐