iOS中:

备注:

Retina是一种显示技术,可以将把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻程度。而其最初该技术是用于苹果的iPhone4上。其屏幕分辨率为960×640(每英寸像素数326ppi)。这种分辨率在正常观看距离下足以使人肉眼无法分辨其中的单独像素。

坐标系是用的是点point,而不是pixel像素

旧的iOS设备,不带retina屏幕:

iPhone, iPhone3G, iPhone3GS, iPad, iPad 2, iPad mini, and early iPod touches

中,一个点=一个像素

新的iOS设备,带retina屏幕:

iPhone 4, iPad with Retina Display, and iPod touch 4

一个点=2个像素=对应带图片:

在原有(假如是png图片)xxx.png基础上

再新增加一个,分辨率更高的图片,图片名写成:xxx@2x.png

而无需改变程序的代码,即可-》xcode会帮你自动处理图片

如上所述:

更新的iOS设备:

iPhone 6 Plus

屏幕更精细,分辨率更高,则:

需要更高精细度的图片,图片名写成:xxx@3x.png

而对于@2x和@3x的图片,除了更加清晰之外,是否会包含显示更多内容,则取决你自己。

xcode中,根据需要,制作或得到对应的1x,2x,3x的图片,放到xcode的images文件夹下即可。

然后程序中,代码中,直接加载图片即可正常显示。

开发中,例如:

nanshanImage.image=[UIImage imageNamed:@"index_pic.png"];

在项目中还保存中index_pic@2x.png的图片,此图为了只适应960*640的分辨率手机

注意:适应Iphone5的相关图片尺寸,也要加@2x.png。比如欢迎界面:Default-568h@2x.png;这个才能匹配上。

而index_pic.png是适应640*320的手机,但是在代码中必须写成[UIImage imageNamed:@"index_pic.png"];这样系统自动会根据不同分辨率手机决定是否调用index_pic@2x.png还是index_pic.png,会自动根据分辨率来匹配用哪张图。

可是如果写成[UIImage imageNamed:@"index_pic@2x.png"];那么系统无法自动判断,根据640*320分辨率来调用index_pic.png图片,系统只会将index_pic@2x.png这一张图当做某控件的图片,不会自动寻找匹配。

因此,开发中[UIImage imageNamed:@"index_pic.png"];里面的图片都是用小分辨率格式名的图片,这样会自动适应大分辨率图片,直接调用。

UIImage类处理了所有需要加载高分辨率图片到应用中的工作。当创建一个新的image对象后,只要以同样的名称来同时请求图片的标准版和高分辨率版即可。例如,如果有两张图片文件,名为Button.png和Button@2x.png,只要用以下代码请求图片即可:

  UIImage* anImage = [UIImage imageNamed:@"Button"];

注意,在IOS4及以后的版本,可以省略文件扩展名而只提供图片名称即可。

在高分辨率显示屏下, imageNamed:, imageWithContentsOfFile:, 和initWithContentsOfFile: 方法自动查找具有@2x名称的图片(注意:如果@2x.png图片与.png图片必须放在项目同一包下,才能自动查找)。如果找到,则会加载该图片。如果没有提供给定图片的高分辨率版本,image对象仍会加载标准版的图片资源,并在绘画过程中将其缩放。如果有提供给定图片的高分辨率版本,但是没有标准版的图片,在标准版显示屏下不会加载高清的图片。

说明:1,Create folder references for any added folders

创建引入的是蓝色的文件夹结构,物理路径。 利用imageWithContentsOfFile获取图片,@2x.png与.png必须在同一蓝色目录下。

2,Create groups for any added folders

导入文件的时候会是逻辑结构,而不是物理结构,目录结构图标如下,黄色的文件夹结构,和构建的Group是一样的,@2x.png与.png可在黄色不同的文件夹下(因为没有物理路径,引用的图片路径其实在同一路径下)。

注意:xib中选择图片做背景时,也是一样的原理!也是选择不带@2x的,这样会自带根据分辨率匹配是否使用小图还是@2x大图!

转载于:https://www.cnblogs.com/SensenCoder/p/4988265.html

iOS 2x 3x相关推荐

  1. iOS @2x @3x图的区别和理解

    苹果官方网页介绍: Icons and Images - Apple Developer iOS用于在屏幕上放置内容的坐标系统是基于点的度量,点映射到屏幕上的像素.标准分辨率显示器的像素密度为1:1( ...

  2. [iOS @2x @3x pt px 分辨率]

    @2x @3x 什么时候用? 先看各个机型数据图,以这个为标准. 对照的pt / px分辨 就是 尺寸(point)/分辨率(像素点) 我们先看何为pt px pt就是point,是印刷行业常用单位, ...

  3. 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)

    iOS开发中,会要求导入@1x.@2x和@3x: 使用@1x格式:iPhone3GS 使用@2x格式:iPhone 4,4S,5,5S,5C,SE,6,6S,7,8,XR 使用@3x格式:iPhone ...

  4. CSS3的srcset size属性1x 2x 3x

    responsive-images-youre-just-changing-resolutions-use-srcset 翻译原文: https://css-tricks.com/responsive ...

  5. iOS @2x 与@3x 图的详解

    初代iPhone 2007年,初代iPhone发布,屏幕的宽高是 320 x 480 像素.下文也是按照宽度,高度的顺序排列.这个分辨率一直到iPhone 3GS也保持不变. 那时编写iOS的App( ...

  6. iOS中图片@1x @2x @3x的意思

    在xcode的images.xcassets中丢入图片后,这些图片会被默认划分为三种尺寸. 假设图片名为bdlogo.png 则这张图片会被自动填充到1x的位置 假设图片名为bdlogo@2x.png ...

  7. ios 只用3x图可以吗_iOS 图片 @2x与@3x区别

    一部好看的电影<看不见的客人>,老年人被逼无奈的情况下,激发了他们的最大潜能,逼凶手认罪伏法.有些时候,人都是被逼的... 28号面试了一位同僚,想起了之前腾讯电话面试我的一个问题,@2x ...

  8. (0086)iOS开发之iPhone 屏幕尺寸、分辨率、ppi以及@2x@3x图

    iPhone 屏幕尺寸.分辨率 苹果设备尺寸不断增加,以往的适配越来越难以满足诸多机型,势必要使用安全区域来适配所有机型 Safe Area 苹果尺寸开发文档:https://developer.ap ...

  9. ios 只用3x图可以吗_对于仅限iPhone的iOS 7应用,我们只能包含@ 3x图像吗?

    是的,你可以,但你不应该. 如果您只添加@ 3x图像,它将减少您的捆绑包大小,并与所有屏幕密度兼容. 不过,我不建议这样做.仅嵌入@ 3x图像将导致您的图像在每次运行应用程序时缩小.这种方法有以下缺点 ...

最新文章

  1. poj1002 字符串
  2. Linux rsync 命令参数详解
  3. 【0.96寸 OLED屏实现1500Fps的帧率】STM32 软件、硬件SPI、I2C驱动总结
  4. Spark SQL概念学习系列之Spark Shark是什么?
  5. 十字连接焊盘_PCB板上的那些“特殊焊盘 “到底起什么作用?
  6. PAIP HTML的调试与分析工具
  7. Android P新特性
  8. DROOL 5分钟上手Case
  9. 论文文献引用格式总结整理
  10. rj45管脚定义_RJ45接口定义
  11. idea热部署插件JRebel激活方法 (免费)
  12. Oracle 动态游标 PL/SQL 动态SQL语句 open for [using] 语句
  13. Activity xxxxx does not have a NavController set on xxxx
  14. 优思学院|“共同原因“和“特殊原因“是什么?
  15. C++ 结构体嵌套结构体
  16. 一码多用:扫描一个二维码自动跳转支付宝/微信小程序、安卓/iosAPP
  17. day1 -- 资料库管理系统DBMS
  18. 华为点android版本游戏下载,征唐华为版游戏下载-征唐华为版 安卓版v1.12.1-PC6手游网...
  19. 注册ChatGPT时提示Oops! The email you provided is not supported
  20. 服务器cpu散热原理,游戏服务器需要怎样的CPU散热风扇

热门文章

  1. python appium api pc_Appium Python API 中文版
  2. vue合并表格excel导出_vue export2Excel 怎么导出一个 excel 同时里面有两个 sheet?
  3. albert使用的中文语料
  4. python第三方库介绍和安装
  5. NULS与Fortube正式达成战略合作
  6. Signal 通过区块链慈善组织 The Giving Block 接受加密货币货币捐赠
  7. 数据:灰度比特币信托基金溢价达41%创近一年新高
  8. 配置环境变量OpenJDK和OracleJDK区别
  9. Linux_CentOS 7下Nginx服务器的安装配置
  10. Installing OwnCloud 9 on Debian 8