Xamarin iOS教程之檢視顯示影像
Xamarin iOS教程之檢視顯示影像
Xamarin iOS顯示影像
在主檢視中顯示一個影像,可以讓開發者的應用程式變的更有趣,例如,在一些應用程式開始執行時,都會透過影像來顯示此應用程式的玩法或者規則等。這不僅可以使使用者快速理解此應用程式的相關資訊,也減少了開發者對應用軟體文字的介紹。顯示影像的檢視被稱為影像檢視。以下將主要講解影像檢視的一些功能。
Xamarin iOS為檢視顯示影像
顯示影像需要使用到UIImageView類建立的物件。
【示例2-10】以下就是如何在主檢視中顯示影像的具體步驟:
(1)建立一個Single View Application型別的工程,命名為2-4。
(2)新增一個影像1.jpg到建立的工程中,新增影像的具體步驟如下:
首先,右擊工程中的Resources資料夾,彈出一個下拉選單,如圖2.19所示。
圖2.19 下拉選單 圖2.20 “新增檔案”對話方塊
其次,選擇下拉選單中的Add|Add Files…命令,彈出“新增檔案”對話方塊,如圖2.20所示。
接著,選擇需要新增到工程中的影像檔案,選擇Open按鈕,彈出Add File to Folder對話方塊,如圖2.21所示。
圖2.21 Add File to Folder對話方塊
最後,選擇“確定”按鈕,需要新增的影像,就新增到了建立工程的Resources資料夾中。
(3)開啟2-4ViewController.cs檔案,編寫程式碼,實現為主檢視新增影像檢視的功能。程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __4ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIImageView imageDisplay = new UIImageView (); //例項化影像檢視物件
-
imageDisplay.Frame = new RectangleF (0, 0, 320, 580); //設定位置和大小
-
imageDisplay.ContentMode = UIViewContentMode.ScaleAspectFit; //設定影像檢視的模式
-
imageDisplay.Image = UIImage.FromFile("1.jpg"); //設定影像檢視顯示的影像
-
this.View.AddSubview (imageDisplay);
-
}
-
…… //裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.22所示。
圖2.22 執行效果
注意:在此示例中,需要開發者掌握兩個知識點。
1.影像支援的格式
影像檢視顯示的影像需要使用image進行設定。UIImage類是用來代表影像資訊的,影像支援的格式如表2-5所示。
表2-5 影像支援的格式
2.影像在顯示時的模式
為了使影像在顯示的時候可以滿足各種需要,UIView檢視提供了多種顯示模式。選擇屬性按鈕後,在屬性介面中設定View中的Mode。或者是使用程式碼透過ContentMode屬性設定Mode。Mode選項中提供了13種顯示模式,分別為Scale To Fill、Aspect Fit、Aspect Fill、Redraw、Center、Top、Bottom、Left、Right、Top Left、Top Right、Bottom Left、Bottom Right。在這13種顯示模式中,但是最常用的有三種分別為:Scale To Fill、Aspect Fit和Aspect Fill,效果如圖2.23所示。
圖2.23 效果
注意:Scale To Fill會使影像全部顯示出來,但是會導致影像變形。Aspect Fit會保證影像比例不變,而且全部顯示在影像檢視中,這意味著影像檢視會有部分空白。AspectFill也會證影像比例不變,會填充整個影像檢視,但是可能只有部分影像顯示出來,一般不對Mode進行設定,預設為Scale To Fill模式。
Xamarin iOS定製特殊的影像
在主檢視中顯示的影像也不是一成不變的,也可能會將影像變傾斜一些,或者是將影像進行縮放等。以下就介紹兩個常用的功能。
1.旋轉影像
旋轉影像其實就是將影像所在的影像檢視進行旋轉。需要使用到Transform屬性,其語法形式如下:
-
影像檢視物件. Transform= CGAffineTransform.MakeRotation(float angle);
其中,angle表示旋轉的弧度。
【示例2-11】以下將實現將主檢視顯示的影像旋轉10度。具體步驟如下:
(1)建立一個Single View Application型別的工程,命名為2-21。
(2)新增一個影像1.jpg到建立工程的Resources資料夾中。
(3)開啟2-21ViewController.cs檔案,編寫程式碼,實現將主檢視顯示的影像旋轉10度。程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.CoreGraphics; //引入MonoTouch.CoreGraphics名稱空間
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __21ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIImageView imageDisplay = new UIImageView (); //例項化影像檢視物件
-
imageDisplay.Frame = new RectangleF (0, 0, 320, 568); //設定位置和大小
-
imageDisplay.Image = UIImage.FromFile("1.jpg"); //設定影像檢視顯示的影像
-
imageDisplay.Transform=CGAffineTransform.MakeRotation((float)(3.14 / 10)); //旋轉影像
-
this.View.AddSubview (imageDisplay);
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
在此程式中,我們引入了一個新的名稱空間MonoTouch.CoreGraphics,此名稱空間用於圖形繪製,因為CGAffineTransform.MakeRotation是這個名稱空間的物件和方法。執行效果如圖2.24所示。
圖2.24 執行效果
2.縮放影像
縮放影像其實就是將影像所在的影像檢視進行縮放。同樣還需要使用到Transform屬性,其語法形式如下:
影像檢視物件.Transform= CGAffineTransform.MakeScale (float sx,float sy);
其中,sx與sy分別表示將原來的寬度和高度縮放到多少倍。
【示例2-12】以下將實現將主檢視顯示的影像放大2倍。具體步驟如下:
(1)建立一個Single View Application型別的工程,命名為2-22。
(2)新增一個影像1.jpg到建立工程的Resources資料夾中。
(3)開啟2-22ViewController.cs檔案,編寫程式碼,實現將主檢視顯示的影像放大兩倍。程式碼如下:
-
using System;
-
using System.Drawing;
-
using MonoTouch.CoreGraphics;
-
using MonoTouch.Foundation;
-
using MonoTouch.UIKit;
-
namespace Application
-
{
-
public partial class __22ViewController : UIViewController
-
{
-
…… //這裡省略了檢視控制器的構造方法和析構方法
-
#region View lifecycle
-
public override void ViewDidLoad ()
-
{
-
base.ViewDidLoad ();
-
// Perform any additional setup after loading the view, typically from a nib.
-
UIImageView imageDisplay = new UIImageView (); //例項化影像檢視物件
-
imageDisplay.Frame = new RectangleF (80, 158, 160, 240); //設定位置和大小
-
imageDisplay.Image = UIImage.FromFile("1.jpg"); //設定影像檢視顯示的影像
-
imageDisplay.Transform = CGAffineTransform.MakeScale (2,2); //縮放影像
-
this.View.AddSubview (imageDisplay);
-
}
-
…… //這裡省略了檢視載入和解除安裝前後的一些方法
-
#endregion
-
}
-
}
執行效果如圖2.25所示。
圖2.25 執行效果
本文選自:Xamarin iOS開發實戰大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1702338/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何檢視電腦顯示卡配置 win10檢視電腦顯示卡配置的方法Win10
- win10如何檢視電腦配置顯示卡 怎麼檢視自己電腦顯示卡型號Win10
- win10如何檢視電腦配置顯示卡 win10怎麼樣檢視電腦顯示卡配置Win10
- LCD螢幕顯示PNG影像
- OpenCV_python全屏顯示影像OpenCVPython
- mac怎麼檢視顯示隱藏資料夾?Mac
- iOS 隱藏&顯示tabBariOStabBar
- python——同時顯示多張影像Python
- win10怎麼看顯示卡配置_win10如何檢視顯示卡資訊Win10
- EdgeView 2 for Mac影像檢視器ViewMac
- flutter在IOS上顯示英文FlutteriOS
- iOS之LLDB列印顯示中文iOSLLDB
- win10 如何檢視螢幕型號 win10 檢視顯示器型號方法Win10
- Python武器庫 - 科研中常用的python影像操作 - 影像顯示Python
- w10顯示卡設定在哪裡_w10顯示卡設定怎麼檢視
- windows10怎麼看顯示卡配置 win10如何檢視電腦顯示卡配置WindowsWin10
- WSL2 Xlaunch 轉發顯示影像
- python PIL 開啟\顯示\儲存影像Python
- linux檢視資料夾大小,ls-l顯示不正確Linux
- Android顯示框架:Android應用檢視的管理者WindowAndroid框架
- 電腦顯示卡配置怎麼看 win10電腦檢視顯示卡配置方法介紹Win10
- 電腦顯示卡型號在哪裡看?檢視電腦顯示卡型號的方法步驟
- 快速影像檢視器:EdgeView 4 for MacViewMac
- EdgeView 3 for Mac(快速影像檢視器)ViewMac
- Linux終端怎麼檢視影像Linux
- Unity在檢視皮膚上顯示巢狀的多個listUnity巢狀
- linux檔案管理命令例項分析【顯示、檢視、統計等】Linux
- FPGA影像採集與顯示專案(一)帶LOGO的VGA顯示模組FPGAGo
- iOS探索:UI檢視之事件傳遞&檢視響應iOSUI事件
- EdgeView for Mac(影像瀏覽檢視軟體)ViewMac
- 在Linux命令列檢視影像的方法Linux命令列
- win10怎麼看顯示卡驅動版本_win10如何檢視顯示卡驅動型號Win10
- win10怎麼檢視電腦的顯示卡 win10裝置管理器看顯示卡Win10
- 微信頭像顯示“暫時無法檢視”的判斷方法
- win10系統檢視電腦顯示卡資訊的方法Win10
- 【Fiddler】iOS抓取全部顯示“Tunnel to......443”iOS
- iOS 大圖顯示解決辦法iOS
- iOS開發-檢視與檢視控制器生命週期iOS
- 點亮點陣以及點陣的影像顯示