я следующий код загрузки, который вызывается после того, как пользователи выбирает изображение из своего фотоальбома:Сжать изображение iPhone перед загрузкой
public void Picked(object sender, UIImagePickerMediaPickedEventArgs e)
{
picker.DismissViewController (false, null);
image.Image = e.Info [UIImagePickerController.OriginalImage] as UIImage;
//get a stream of the image data
imageData = image.Image.AsPNG().AsStream();
filename = filenameBox.Text;
spinner.StartAnimating();
Thread t = new Thread (UploadImage);
t.Start();
}
public void UploadImage()
{
//upload to s3
Amazon.S3.AmazonS3Client s3 = new AmazonS3Client ("My access key", "my secret key");
// Create a PutObject request
PutObjectRequest request = new PutObjectRequest {
BucketName = "my bucket name",
Key = filename
};
//put the image data into the request
request.InputStream = imageData;
// Put image
PutObjectResponse response = s3.PutObject(request);
InvokeOnMainThread (StopSpinning);
}
Все работает отлично, но iPhone камера изображение имеет большой размер и загружайте очень медленно. Я ищу способ легко сжать изображение, прежде чем загружать его в s3
.
Ive прочитал другие вопросы, которые обсуждали функцию scale
, выходящую в моноточе? Это трюк? Как его использовать?
Я не собираюсь обрезать изображение, просто сжимаю и уменьшаю размер. Как это можно достичь?
Ищу для monotouch
примера особенно вместо objective c
@ Джейсон Это 'предстоящий метод шкалы' вне? – Deekor
См. Мой ответ ниже ... – Jason