最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

iOS像素對齊概念解析

 更新時(shí)間:2016年09月21日 08:39:54   作者:huahuahu  
這篇文章主要為大家詳細(xì)介紹了iOS像素對齊概念,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

在iOS中,有一個(gè)概念叫做像素對齊,如果像素不對齊,那么在GPU渲染時(shí),需要進(jìn)行插值計(jì)算,這個(gè)插值計(jì)算的過程會有性能損耗。 

在模擬器上,有一個(gè)選項(xiàng)可以把像素不對齊的部分顯示出來。

邏輯像素與物理像素

在iOS設(shè)備上,有point(邏輯像素)的概念,以及pixel(物理像素)的概念。
 在編程序時(shí),用的是point,實(shí)際渲染時(shí)用的是pixel。一個(gè)point可以對應(yīng)多個(gè)pixel。
 point和pixel的比例是可以通過[[UIScreen mainScreen] scale]來制定。

UIImage的scale概念 

If you load an image from a file whose name includes the @2x modifier, the scale is set to 2.0. You can also specify an explicit scale factor when initializing an image from a Core Graphics image. All other images are assumed to have a scale factor of 1.0. 

image也有size的概念。

This value reflects the logical size of the image and takes the image's current orientation into account. Multiply the size values by the value in the scale property to get the pixel dimensions of the image. 

就是說image的size和image和scale相乘,得到物理像素的大小。

問題

那么像素不對齊指的是物理像素(pixel)和邏輯像素(point)對齊呢?

實(shí)驗(yàn)

使用300*225像素的png圖片。分別使用不同的方法load到內(nèi)存中,得到不同的size和scale,然后放在不同size的imageview里。使用color misaligned images來判定是否像素對齊。
 這里模擬器使用的iPhone 6,屏幕的 scale是2。

部分代碼

  NSLog(@"screen scale is %f",[[UIScreen mainScreen] scale]);
  UIImage *image = [UIImage imageNamed:@"test.png"];
  NSLog(@"image size %@, scale %f ", [NSValue valueWithCGSize:image.size], image.scale);
  UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
//  imageView.frame = CGRectMake(50, 100, imageView.bounds.size.width * 2/3, imageView.bounds.size.height * 2/3);
  imageView.frame = CGRectMake(50, 100, imageView.bounds.size.width, imageView.bounds.size.height);
  NSLog(@"imageView frame %@", [NSValue valueWithCGRect:imageView.frame]);
  [self.view addSubview:imageView];

 結(jié)論
 1.所謂的像素對齊,指的是物理像素對齊。
 2.如果是2x的圖像,放在3x的屏幕上(6sp),也會發(fā)生像素不對齊的情況。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • iOS中valueForKeyPath的常用方法法示例

    iOS中valueForKeyPath的常用方法法示例

    這篇文章主要給大家介紹了關(guān)于iOS中valueForKeyPath的常用方法法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • IOS中使用UIWebView 加載網(wǎng)頁、文件、 html的方法

    IOS中使用UIWebView 加載網(wǎng)頁、文件、 html的方法

    UIWebView 是用來加載加載網(wǎng)頁數(shù)據(jù)的一個(gè)框,接下來通過本文給大家介紹IOS中使用UIWebView 加載網(wǎng)頁、文件、 html的方法,對本文詳情感興趣的朋友一起學(xué)習(xí)吧
    2016-02-02
  • iOS集成微信支付開發(fā)

    iOS集成微信支付開發(fā)

    這篇文章主要為大家詳細(xì)介紹了iOS集成微信支付開發(fā),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • iOS 本地存儲NSUserDefaults封裝代碼

    iOS 本地存儲NSUserDefaults封裝代碼

    下面小編就為大家分享一篇iOS 本地存儲NSUserDefaults封裝代碼,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • iOS UITextField 顯示銀行卡格式的方法

    iOS UITextField 顯示銀行卡格式的方法

    下面小編就為大家分享一篇iOS UITextField 顯示銀行卡格式的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 利用iOS實(shí)現(xiàn)系統(tǒng)相冊大圖瀏覽功能詳解

    利用iOS實(shí)現(xiàn)系統(tǒng)相冊大圖瀏覽功能詳解

    查看大圖是們?nèi)粘i_發(fā)中經(jīng)常會遇到的一個(gè)需求,下面這篇文章主要給大家介紹了關(guān)于利用iOS實(shí)現(xiàn)系統(tǒng)相冊大圖瀏覽功能的相關(guān)資料,文中給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來一起看看吧。
    2017-09-09
  • 淺談iOS中的鎖的介紹及使用

    淺談iOS中的鎖的介紹及使用

    本篇文章主要介紹了淺談iOS中的鎖的介紹及使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 詳解iOS開發(fā)中UIPickerView控件的使用方法

    詳解iOS開發(fā)中UIPickerView控件的使用方法

    這篇文章主要介紹了詳解iOS開發(fā)中UIPickerView控件的使用方法,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-11-11
  • IOS中計(jì)算緩存文件的大小判斷實(shí)例詳解

    IOS中計(jì)算緩存文件的大小判斷實(shí)例詳解

    這篇文章主要介紹了IOS中計(jì)算緩存文件的大小判斷實(shí)例詳解的相關(guān)資料,希望通過本能幫助到大家,需要的朋友可以參考下
    2017-09-09
  • IOS 中UIKit-UIPageControl利用delegate定位圓點(diǎn)位置

    IOS 中UIKit-UIPageControl利用delegate定位圓點(diǎn)位置

    這篇文章主要介紹了IOS 中UIKit-UIPageControl利用delegate定位圓點(diǎn)位置 的相關(guān)資料,需要的朋友可以參考下
    2017-04-04

最新評論

繁昌县| 杨浦区| 四会市| 沙湾县| 靖宇县| 肇州县| 阆中市| 广昌县| 于都县| 凤台县| 五峰| 新津县| 威海市| 木兰县| 蛟河市| 手机| 藁城市| 富源县| 阜宁县| 类乌齐县| 永州市| 闵行区| 渝中区| 扬州市| 米脂县| 大洼县| 陆良县| 延寿县| 会同县| 正宁县| 壶关县| 潢川县| 涿州市| 周宁县| 府谷县| 达拉特旗| 京山县| 英吉沙县| 清新县| 边坝县| 临潭县|