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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Xamarin iOS教程之警告檢視iOS
- Xamarin iOS教程之自定義檢視iOS
- Xamarin iOS教程之顯示和編輯文字iOS
- Xamarin iOS教程之新增和定製檢視iOS
- Xamarin iOS教程之進度條和滾動檢視iOS
- Xamarin iOS教程之頁面控制元件iOS控制元件
- 價格顯示檢視封裝封裝
- Xamarin iOS教程之鍵盤的使用和設定iOS
- Xamarin iOS教程之編輯介面編寫程式碼iOS
- Xamarin iOS開發實戰上冊----------2.2 新增和定製檢視iOS
- LCD螢幕顯示PNG影像
- Xamarin iOS教程之使用按鈕接接收使用者輸入iOS
- Xamarin.Forms特殊的檢視BoxViewORMView
- Xamarin.Forms支援的地圖顯示型別ORM地圖型別
- Xamarin iOS教程之申請付費開發者賬號下載證書iOS
- OpenCV_python全屏顯示影像OpenCVPython
- mac怎麼檢視顯示隱藏資料夾?Mac
- ScrollView 之 實現檢視的迴圈顯示View
- Xamarin.Forms的滾動檢視ScrollViewORMView
- Xamarin XAML語言教程基本檢視ContentViewView
- Xamarin XAML語言教程模板檢視TemplatedView(二)View
- Xamarin XAML語言教程模板檢視TemplatedView(一)View
- Xamarin XAML語言教程Xamarin.Forms中活動指示器的顯示隱藏ORM
- EdgeView 2 for Mac影像檢視器ViewMac
- angular學習筆記(八)-控制檢視顯示隱藏Angular筆記
- V$SQL檢視顯示結果異常的診斷SQL
- python——同時顯示多張影像Python
- WSL2 Xlaunch 轉發顯示影像
- iOS 隱藏&顯示tabBariOStabBar
- Xamarin XAML語言教程ContentView檢視作為自定義檢視的父類View
- win10 如何檢視螢幕型號 win10 檢視顯示器型號方法Win10
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- Win8.1 Update“應用”檢視如何顯示更多磁貼
- Android 網路圖片檢視顯示的實現方法Android
- 【AIX 命令學習】lsfs 檢視顯示檔案系統資訊AI
- EdgeView 3 for Mac(快速影像檢視器)ViewMac
- 快速影像檢視器:EdgeView 4 for MacViewMac
- python PIL 開啟\顯示\儲存影像Python