我正在構建iOS應用程序,我需要使用相機並將其中的圖像保存到App文件夾中。UIImage.AsJPEG()返回「無法從源類型轉換爲目標類型」。
當我嘗試將圖像從相機轉換爲JPEG或PNG格式時,出現「無法從源類型轉換爲目標類型」。
這裏是代碼我使用:
using (NSData imageData = image.AsJPEG(0.2f))
任何想法:當我打電話時
public class ImagePickerDelegate : UIImagePickerControllerDelegate
{
public ImagePickerDelegate()
{
}
public override void FinishedPickingImage(UIImagePickerController picker, UIImage image, NSDictionary editingInfo)
{
var documentsDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
string jpgFilename = System.IO.Path.Combine(documentsDirectory, string.Format("{0}.jpg", Guid.NewGuid()));
using (NSData imageData = image.AsJPEG(0.2f))
{
NSError err;
if (!imageData.Save(jpgFilename, false, out err))
{
Console.WriteLine("Saving of file failed: " + err.Description);
}
}
}
}
的錯誤?
這裏是堆棧跟蹤:
System.InvalidCastException: Cannot cast from source type to destination type.
at MonoTouch.UIKit.UIImage.AsJPEG() [0x00006] in /Developer/MonoTouch/Source/monotouch/src/UIKit/.pmcs-compat.UIImage.cs:53
at App.ImagePickerDelegate.FinishedPickingImage (MonoTouch.UIKit.UIImagePickerController picker, MonoTouch.UIKit.UIImage image, MonoTouch.Foundation.NSDictionary editingInfo) [0x00024] in /Users/giusepecasagrande/Dropbox/SoftwareDev/AppName/AppName/AppName/ImagePickerDelegate.cs:37
at at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/.pmcs-compat.UIApplication.cs:38
at BeBabby.Application.Main (System.String[] args) [0x00008] in /Users/giusepecasagrande/Dropbox/SoftwareDev/AppName/AppName/AppName/Main.cs:16
這裏是我創建了一個樣本項目: https://github.com/GiusepeCasagrande/XamarinSimpleCameraSample/tree/master
如果您輸入這部分代碼在機械手的委託,你可以看到這個問題。
你可以發佈堆棧跟蹤嗎? – jonathanpeppers
@jonathanpeppers,我只是將堆棧跟蹤添加到原始問題。 – Giusepe
它看起來像UIImageJPEGRepresentation正在返回不是NSData的東西。這是發生在任何圖像上,還是隻有一個? –