亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

iOS應用開發中矢量圖的使用及修改矢量圖顏色的方法

2020-02-19 15:48:40
字體:
來源:轉載
供稿:網友

設計師可以給你一套完整的,節省自己的時間,但是這是一個很有好處的,它可以保存應用程序的大小,并可以保存按鈕突出顯示,媒體選擇和其他圖片,武林技術頻道小編帶你學習iOS應用開發中矢量圖的使用及修改矢量圖顏色的方法。

?

20163391148793.jpg (525×497)

?

之前搗鼓了點東西,要適配6和Plus,自己做做切圖才發現確實有夠煩。基于矢量圖生成PNG圖形的方法也是事后才知道,學習下,希望接下來可以實踐。下面進入譯文。

iOS應用的視覺形式通常是以圖形元素驅動的。在設計開發一款應用時,你需要不同規格的應用圖標,例如不同尺寸的Default.png圖片,同時還需要為UI的實現準備@1x和@2x圖形資源。所有這些圖形元素都會讓你的產品看上去更吸引人,但弊端也是很明顯的 - 你需要為每種規格的圖形元素單獨切圖。而隨著iPhone 6及Plus的發布,我們又多了一套@3x需要處理,事情變得越來越復雜。

幸運的是,蘋果在Xcode 6當中給我們帶來了一些很棒的工具用以管理圖形資源。更棒的是,新的工具和實現方式可以幫我們從容的應對未來的iOS設備,例如基于Storyboard為iOS 8設備生成啟動圖片,這樣你就無需再為不同的設備類型單獨制作。此外還有一個非常重要的新功能,就是在應用構建階段基于PDF圖片文件自動生成各種規格的圖形資源。本文中,我們就來一起探索一下這種能幫你節省大量時間成本的方法。

第一步:使用Illustrator生成PDF矢量圖形

首先,我們需要PDF格式的矢量圖形。你可以使用Adobe Illustrator或你所熟悉的其他矢量圖形工具來生成,@1x規格的即可。

如果你使用Illustrator:

為即將導出的圖形元素創建新文檔,使用@1x規格來設置文檔的尺寸。
將需要導出的圖形元素復制到新文檔當中。
在“File”菜單中選擇“Save”。
在保存時記得取消勾選“Preserve Illustrator Editing Capabilities”。

20163391241063.jpg (521×409)

由此導出的PDF是可拉伸的矢量圖形,可以在iOS中被完美的處理為@2x和@3x規格。下一步,我們看看怎樣在Xcode當中進行設置。

第二步:在Xcode項目文件中進行設置

要使用矢量化的圖形資源,你需要在Xcode當中通過Asset Catalog來管理圖片。不用擔心,你仍可以將標準的圖形導入方式與XCAssets混合起來使用,不會產生問題。執行以下步驟:

  • 如果還沒有XCAsset文件,那么創建一個。如果已經創建過,就在項目中打開。
  • 在“Editor”菜單中選擇“New Image Set”。
  • 在新創建的圖片集中,選擇空的圖片集,然后打開Utilities面板。
  • 選擇屬性檢查器Attributes Inspector。
  • 在類型下拉列表中,選擇“Vectors”。
  • 圖片集會變為只有一個拖放點的“All - Universal”。
  • 將你的PDF矢量圖形拖放到圖片集當中。

20163391258695.jpg (542×313)

接下來,你可以像以往一樣使用Image Catalog中的圖形資源,通過代碼或Interface Builder均可。例如在代碼中使用“imageNamed:”+圖片集名稱的字符串。

第三步:見證神奇時刻

Xcode在構建項目時會基于Asset Catalog中的PDF矢量圖形自動創建@1x、@2x和@3x三種規格的PNG文件。舉例說,你為Xcode提供了一個@1x規格的,尺寸為150px*150px的PDF文件,那么Xcode會自動創建下列PNG圖形:

@1x規格,尺寸為150px*150px
@2x規格,尺寸為300px*300px
@3x規格,尺寸為450px*450px
應用運行時,iOS會根據不同的設備類型從上面三種圖形資源中挑選出恰當的規格進行輸出。另外記得為AutoLayout設置好約束,確保圖形不會在大尺寸設備上被拉伸。Xcode所做的是基于PDF矢量圖形創建PNG文件;應用運行時所輸出的仍然是柵格化的圖片,而非可以自動伸縮的矢量圖形。

注意

  • 矢量圖形的支持只是階段性的 - 在構建階段,Xcode會基于PDF生成PNG圖片并輸出到界面當中。
  • 一旦完成矢量圖形的設置,你就無法為其指定新的輸出尺寸了。如果需要更大的規格,則需要創建新的PDF圖形,否則在使用AutoLayout時原來的圖片會失真。
  • 正如前面所說的,iOS 8只能支持基于PDF生成的PNG文件;但OS X卻可以真正完整的支持矢量圖形,你可以直接通過Auto Layout或代碼來縮放矢量圖形,不會產生任何失真。
  • 這種方式無法兼容iOS 7之前的系統,因為相關的圖形資源都是通過Asset Catalog管理的。
  • 如果你已經使用了類似的腳本或工具來自動生成多種規格的圖形資源,那么這種方式不會給你帶來太多用處。不過,如果你的應用同時擁有OS X和iOS兩種版本,并且會用到一些相同的圖形,那么這種方法將會是事半功倍的。

改變矢量圖的顏色

為啥要改變矢量圖的顏色呢,直接叫設計師切個圖不就好呢。

主要最近呢,設計師回家了,沒辦法只有一張圖,我又懶的用ps。

就給自己弄了個課題。

其實也簡單在ps中也不就是選中選區,填充顏色,然后保存。

在iOS也是差不多的。

?

在iOS也是差不多的。

?

//UIImage+ImageColor.h
#import <UIKit/UIKit.h>
@interface UIImage (ImageColor)
/**
?*? 修改矢量圖顏色
?*
?*? @param????? maskColor 修改顏色
?*? @return
?*/
- (UIImage *)imageMaskWithColor:(UIColor *)maskColor;
@end
//UIImage+ImageColor.m
#import "UIImage+ImageColor.h"
@implementation UIImage (ImageColor)
- (UIImage *)imageMaskWithColor:(UIColor *)maskColor {
??? if (!maskColor) {
??????? return nil;
??? }

?

??? UIImage *newImage = nil;

??? CGRect imageRect = (CGRect){CGPointZero,self.size};
??? UIGraphicsBeginImageContextWithOptions(imageRect.size, NO, self.scale);

??? CGContextRef context = UIGraphicsGetCurrentContext();
??? CGContextScaleCTM(context, 1.0, -1.0);
??? CGContextTranslateCTM(context, 0.0, -(imageRect.size.height));

??? CGContextClipToMask(context, imageRect, self.CGImage);//選中選區 獲取不透明區域路徑
??? CGContextSetFillColorWithColor(context, maskColor.CGColor);//設置顏色
??? CGContextFillRect(context, imageRect);//繪制

??? newImage = UIGraphicsGetImageFromCurrentImageContext();//提取圖片

??? UIGraphicsEndImageContext();
??? return newImage;
}
@end

收藏武林技術頻道網,可以讓大家學習到更多的知識,一起跟著iOS應用開發中矢量圖的使用及修改矢量圖顏色的方法進入下文學習一下吧!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩国产成人| 国产精品99导航| 在线播放国产一区中文字幕剧情欧美| 中文字幕精品av| 欧美日韩亚洲精品一区二区三区| 国产亚洲福利一区| 91精品久久久久久久久久另类| 日韩一区二区三区国产| 欧美剧在线观看| 亚洲激情视频在线观看| 亚洲自拍偷拍在线| 成人黄色在线播放| 少妇久久久久久| 国产精选久久久久久| zzjj国产精品一区二区| 亚洲激情免费观看| 亚洲黄页视频免费观看| 4p变态网欧美系列| 欧美日本亚洲视频| 91精品国产色综合久久不卡98口| 日韩欧美在线视频免费观看| 国产精品嫩草视频| 亚洲影视中文字幕| 91国产中文字幕| 国产精品日韩在线观看| 欧美华人在线视频| 92福利视频午夜1000合集在线观看| 欧美精品久久久久a| 亚洲大胆人体在线| 亚洲另类激情图| 日本精品久久久久久久| 在线看福利67194| 亚洲天堂男人天堂女人天堂| 国产精品爽黄69| 国产在线观看不卡| www国产亚洲精品久久网站| 国产精品自拍视频| 国产福利视频一区| 亚洲精品日韩久久久| 国产精品视频专区| 在线视频欧美日韩| 亚洲美女av黄| 亚洲国产精品网站| 国产精品高清网站| 97国产suv精品一区二区62| 国产有码在线一区二区视频| 日韩美女免费观看| 亚洲第一精品夜夜躁人人躁| 97成人精品视频在线观看| 国产精品自产拍在线观看中文| 日韩在线精品一区| 亚洲国产精品一区二区久| 在线观看国产欧美| 久久91精品国产| 91亚洲国产成人久久精品网站| 亚洲福利视频网站| 精品亚洲aⅴ在线观看| 欧美电影免费在线观看| 久久精品成人动漫| 中文字幕欧美精品在线| 国产91av在线| 国产91精品视频在线观看| 精品国产91乱高清在线观看| 奇米成人av国产一区二区三区| 欧美日韩成人在线观看| 成人在线视频网| 欧美日韩国产一区二区三区| 精品久久久久久中文字幕| 日韩动漫免费观看电视剧高清| 亚洲国产精品成人va在线观看| 色偷偷888欧美精品久久久| 日韩电影中文字幕在线观看| 国内精品小视频在线观看| 亚洲自拍小视频免费观看| 亚洲白拍色综合图区| 揄拍成人国产精品视频| 26uuu久久噜噜噜噜| 日韩专区在线播放| 欧美大学生性色视频| 欧美激情精品久久久| 亚洲欧美国产一本综合首页| 成人www视频在线观看| 欧美又大又硬又粗bbbbb| 成人高清视频观看www| 国产精品一区二区久久国产| 欧美国产日韩一区| 欧美电影在线观看| 日韩在线观看你懂的| 中文字幕精品久久久久| 久久精品国产精品| 亚洲精品久久久久中文字幕二区| 日韩性生活视频| 国产一区二区三区在线看| 久久精品99国产精品酒店日本| 亚洲天堂日韩电影| 日韩视频免费中文字幕| 亚洲欧美国产一本综合首页| 亚洲一区二区免费在线| 亚州国产精品久久久| 日韩视频在线一区| 国产精品偷伦视频免费观看国产| 亚洲国产精品资源| 欧美日韩国产123| 欧美专区在线观看| 久热精品视频在线观看| 亚洲永久免费观看| 尤物九九久久国产精品的特点| 亚洲精品按摩视频| 欧美午夜片欧美片在线观看| 亚洲天堂日韩电影| 久久精品91久久久久久再现| 亚洲成人精品视频在线观看| 久久久久久国产精品| 日韩美女在线观看一区| 日本成人激情视频| 日韩一区二区在线视频| 国产精品久久不能| 久久影院模特热| 欧美日韩国产综合视频在线观看中文| 欧美一二三视频| 国产精品久久久久久久9999| 亚洲精品美女在线观看| 国产在线观看精品一区二区三区| 亚洲一级片在线看| 亚洲性生活视频在线观看| 国产精品美女在线观看| 欧美资源在线观看| 国产啪精品视频| 国内免费精品永久在线视频| 国产日韩在线播放| 国产精品自在线| 欧洲美女免费图片一区| 这里只有精品视频| 日韩美女毛茸茸| 成人免费视频97| 久久久精品国产亚洲| 国产91亚洲精品| 亚洲免费影视第一页| 久久久久一本一区二区青青蜜月| 国产精品伦子伦免费视频| 97久久久免费福利网址| 91中文字幕在线观看| 欧美激情在线一区| 亚洲欧美日韩中文在线制服| 欧美区在线播放| 国产免费亚洲高清| 亚洲美女久久久| 亚洲天堂免费观看| 久久久久久高潮国产精品视| 97av在线视频免费播放| 亚洲欧洲国产一区| 久久国产精品99国产精| 欧美日韩午夜视频在线观看| 亚洲欧美日韩国产中文| 97精品国产97久久久久久春色| 久久理论片午夜琪琪电影网| 欧美理论电影在线播放| 色哟哟网站入口亚洲精品| 亚洲人成伊人成综合网久久久| 成人网在线免费看| 欧美最顶级丰满的aⅴ艳星| 欧美高清视频在线播放| 97婷婷涩涩精品一区| 美女久久久久久久久久久|