我對Android的MonoTouch/Mono有點新鮮。我在iOS和Android應用的平臺上工作,並且正在將我們的本機代碼移植到C#中。爲圖像創建一個通用類是否明智?
我們的應用程序顯示圖像。但在Mono中沒有常見的圖像類型。在Android的Mono中,一個選項使用Bitmap
(不能被分類)或BitmapDrawable
,在iOS中有UIImage
。
爲了讓應用程序中的某些代碼在各個平臺之間更加一致,在我看來,創建一個用於處理圖像的通用類是一個不錯的主意。該類基本上是相應「本地」類的外觀。我希望這個類具有的功能之一是從一個字節數組創建一個圖像對象。目前我的代碼如下所示(並且工作正常):
using System;
#if ANDROID
using Android.Graphics;
using Android.Graphics.Drawables;
#else
using MonoTouch.UIKit;
using MonoTouch.Foundation;
#endif
namespace OurCompany.Core
{
#if ANDROID
public class Image : BitmapDrawable
{
public Image (byte[] bytes) : base(BitmapFactory.DecodeByteArray (bytes, 0, bytes.Length))
{
}
}
#else
public class Image : UIImage
{
public Image (byte[] bytes) : base(NSData.FromArray(bytes), 1)
{
}
}
#endif
}
現在我想知道,使用此設置時可能遇到任何問題嗎?我想知道我是否可以預期任何性能,緩存或其他類似設置的問題。
有趣的圖書館工作,這CrossGraphics。它可能有我需要的一切和更多。將研究它:) – 2013-02-12 08:17:07
請注意,IMO CrossGraphics也將從界面中受益:)但是,正如我媽媽所說,你不能讓所有的人都討好...並且你不能請一些人任何人的時間... ;) – Stuart 2013-02-12 09:11:45