1. 程式人生 > >Xamarin.ios 改變image大小,剪下等

Xamarin.ios 改變image大小,剪下等



// resize the image to be contained within a maximum width and height, keeping aspect ratio
public UIImage MaxResizeImage(UIImage sourceImage, float maxWidth, float maxHeight)
{
    var sourceSize = sourceImage.Size;
    var maxResizeFactor = Math.Max(maxWidth / sourceSize.Width, maxHeight / sourceSize.Height);
    if (maxResizeFactor > 1) return sourceImage;
    var width = maxResizeFactor * sourceSize.Width;
    var height = maxResizeFactor * sourceSize.Height;
    UIGraphics.BeginImageContext(new SizeF(width, height));
    sourceImage.Draw(new RectangleF(0, 0, width, height));
    var resultImage = UIGraphics.GetImageFromCurrentImageContext();
    UIGraphics.EndImageContext();
    return resultImage;
}

// resize the image (without trying to maintain aspect ratio)
public UIImage ResizeImage(UIImage sourceImage, float width, float height)
{
    UIGraphics.BeginImageContext(new SizeF(width, height));
    sourceImage.Draw(new RectangleF(0, 0, width, height));
    var resultImage = UIGraphics.GetImageFromCurrentImageContext();
    UIGraphics.EndImageContext();
    return resultImage;
}

// crop the image, without resizing
private UIImage CropImage(UIImage sourceImage, int crop_x, int crop_y, int width, int height)
{
    var imgSize = sourceImage.Size;
    UIGraphics.BeginImageContext(new SizeF(width, height));
    var context = UIGraphics.GetCurrentContext();
    var clippedRect = new RectangleF(0, 0, width, height);
    context.ClipToRect(clippedRect);
    var drawRect = new RectangleF(-crop_x, -crop_y, imgSize.Width, imgSize.Height);
    sourceImage.Draw(drawRect);
    var modifiedImage = UIGraphics.GetImageFromCurrentImageContext();
    UIGraphics.EndImageContext();
    return modifiedImage;
}

相關推薦

Xamarin.ios 改變image大小下等

 // resize the image to be contained within a maximum width and height, keeping aspect ratio public UIImage MaxResizeImage(UIImage sour

JavaScript 在vue頁面下實現滑鼠拖拽div改變大小適用於鷹眼地圖街景地圖等。

首先看效果,如圖,滑鼠懸浮在地圖的右上角小框中時,提示“拖動調整大小”,可以給小框加個好看的圖示。點選可以進行拖拽。 基於上一篇部落格:https://blog.csdn.net/acoolgiser/article/details/84866426  實現。 程式碼:

java壓縮圖片記憶體大小但不改變解析度大小第一種方式

/*** @Title: compressPicByQuality * @Description: 壓縮圖片,通過壓縮圖片質量,保持原圖大小* @param  quality:0-1* @return byte[] * @throws*/public static byte

javascript常用語句如表單禁止複製下等

1.遮蔽滑鼠右鍵 ie/ff <div oncontextmenu="return(false)">這裡沒有右鍵</div> 2.取消選取、防止複製 ie <body onselectstart="return false">

java壓縮圖片記憶體大小但不改變解析度大小第二種方式

/*** @Title: compressPic * @Description: 壓縮圖片,通過壓縮圖片質量,保持原圖大小* @param  quality:0-1    * @return byte[] * @throws*/public static byte[] co

改變image的尺寸大小按原比例不拉伸。

(UIImage )scaleToSize:(UIImage )img size:(CGSize)size{ UIGraphicsBeginImageContext(size); [img dra

最簡單的方法來壓縮圖片改變圖片大小

com post 分享 圖片大小 壓縮圖片 bubuko log OS 技術分享 1. 2. 3.按照百分比或像素 調整即可 最簡單的方法來壓縮圖片,改變圖片大小

關於cordova打包的android專案禁止隨手機系統改變字型大小的解決方法

1. 我用的是最新版的cordova,在專案根目錄下找到 node_modules\cordova-android\framework\src\org\apache\cordova\engine\SystemWebViewEngine.java 也可以全域性搜尋(webs

iOS 設定UIWebView 展示字型大小顏色展示佈局

有時不能返回H5,但是又要使用UIWebView的特性展示效果,這時可以將後臺返回的資料,一般為JSON,封裝為HTML,然後呼叫UIWebView的 - (void)loadHTMLString:(

頁面的字型不能定死會隨著頁面改變大小

詳細描述 遇到了一個手機頁面字型不能定死的問題,頁面會隨著頁面改變,而改變大小。 師弟遇到的問題,我也遇到過,我感覺這個東西可能還會有人遇到。 截圖 分辨是1000px的字型大小和400px的字型大小,沒有注意過的肯定不知道是怎麼回事吧   程式碼 <

matlab 遍歷兩層資料夾對兩層資料夾進行改變圖片大小處理【轉載】

<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-

Opencv改變imshow視窗大小視窗位置

程式碼: cv2.HoughLinesP cv2.namedWindow("enhanced",0); cv2.resizeWindow("enhanced", 640, 480); cv2.imshow("enhanced",lines) cv2.wait

c#禁止通過拖動雙擊標題欄改變窗體大小

最近寫windows窗體程式,發現一個煩人的問題。 窗體初始化時禁用了最大化按鈕,並使之最大化。本希望窗體一直保持最大化。但是拖動,雙擊標題欄時窗體就會縮小。煩死了+_+。 最後,終於找到了解決方法

iconfont的使用阿里向量相簿的引用配置改變圖示大小和圖示顏色

怎麼使用iconfont首先找到自己想要的圖示,新增到購物車如果你只要一個圖示的話,或者確保之後這個專案不需要其他的圖示的話,可以直接選擇下載程式碼,但是你有多個圖示的話,最好選擇新增至專案無論是新增專案還是直接下載程式碼,下載之後會有一個download.zip包,解壓之後

UIWebView改變HTML中圖片的大小進行等比例縮放

http://www.lanou3g.com/bbs/forum.php?mod=viewthread&tid=5189 現在越來越多的應用採用了Hybrid App(混合模式移動應用)這種開發模式,所以我們以後可能會越來越多的和UIWebView打交道。今天分享

EXT的Viewport的layout為border其west的panel為split:true但在IE6中並不能改變大小

兩種解決方式:一種是加一個CSS補丁:.ext-strict .ext-ie6 .x-layout-split{background-color: #dfe8f6;}另一種是在viewport裡只加一個region為center的Panel,把該Panel的layout設為b

xamarin ios pullRefresh 下拉重新整理下拉載入更多

如果用tableviewcontroller 下拉重新整理會自帶,而且tableview 會自動適應螢幕。這樣做的話這個介面的內容就要完全用cell承載了。 tableview pullRefresh 主要就是需要需要做下拉載入更多,這種需求,本人曾用兩種的辦法解決。題外

unity3DPC、Android、IOS將內容複製到下板

原博:https://blog.csdn.net/YE_wolf/article/details/768314461.PC平臺下12//Window剪下板處理GUIUtility.systemCopyBuffer = copyText;2.Android平臺下先新增jar包,

aspx GridView的RowDataBound中改變單元格大小顏色彙總等

   protected void GridView2_RowDataBound(object sender, GridViewRowEventArgs e)     {         e.Row.Cells[0].Attributes.Add("style", "wid

新增大小改變的dialogbar建立及其銷燬

我在VS2008下做的。 步驟如下: 1)新增一個IDD_DIALOGBAR模板型別的對話方塊,使用class wizard產生類時,選擇基類為CDialog,因為沒有CdialogBar 2)把新建的類中的CDialog都改為CDialogBar,特別注意的是:該類建構函式