コメント
コメントの投稿
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。
using System.Drawing;
public class ImageService
{
public static UIImage ResizeImage(UIImage sourceImage, int width, int height)
{
UIGraphics.BeginImageContext(new SizeF(width, height));
sourceImage.Draw(new RectangleF(0, 0, width, height));
var resultImage = UIGraphics.GetImageFromCurrentImageContext();
UIGraphics.EndImageContext();
return resultImage;
}
/// <summary>
/// UIImageからバイト配列を取得する
/// </summary>
/// <param name="image">UIImage</param>
/// <returns></returns>
public static byte[] GetByteArray(UIImage image)
{
byte[] byteArray = null;
using (Stream imageStream = ImageService.GetStream(image))
{
using (MemoryStream ms = new MemoryStream())
{
imageStream.CopyTo(ms);
byteArray = ms.ToArray();
}
}
return byteArray;
}
}
protected void Handle_FinishedPickingMedia(object sender, UIImagePickerMediaPickedEventArgs e)
{
・・・
・・・
if (_imageView.Image != null)
{
//Imageコントロールのサイズを取得する
double width = 0;
double height = 0;
App.GetImageSize(ref width, ref height);
//画像を縮小する
UIImage resizedImage = ImageService.ResizeImage(_imageView.Image, (int)width, (int)height);
byte[] byteArray = ImageService.GetByteArray(resizedImage);
//画像をバインド
var imageSource = ImageSource.FromStream(() => new MemoryStream(byteArray));
App.SetPickupImageSource(imageSource);
}
this.DismissModalViewController(true);
}
※名前とタイトルが入力されていないコメントでは他のコメントとの区別ができません。
入力されていないコメントには返信しませんのであらかじめご了承くださいませ。