Tôi đang sử dụng mẫu máy ảnh Xamarin.Forms từ đây - https://github.com/XForms/Xamarin-Forms-Labs-Samples/tree/master/XF.Labs.CameraSample Tôi có thể chọn hoặc chụp ảnh.Xamarin.Forms Chụp ảnh bằng camera hiển thị sai hướng và treo trên nút quay số
private async Task SelectPicture()
{
mediaPicker = DependencyService.Get<IMediaPicker>();
imageSource = null;
var mediaFile = await mediaPicker.SelectPhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = 400
});
imageSource = ImageSource.FromStream(() => mediaFile.Source);
img.Source = imageSource;
}
private async Task TakePicture()
{
mediaPicker = DependencyService.Get<IMediaPicker>();
imageSource = null;
var mediaFile = await mediaPicker.TakePhotoAsync(new CameraMediaStorageOptions
{
DefaultCamera = CameraDevice.Front,
MaxPixelDimension = 400
});
imageSource = ImageSource.FromStream(() => mediaFile.Source);
img.Source = imageSource;
}
mã cho hình ảnh chỉ đơn giản là
img = new Image
{
BackgroundColor = Color.White,
Aspect = Aspect.AspectFit
};
Có một vài vấn đề:
một đầu tiên. Bạn có thể chụp ảnh hoặc chọn ảnh đã lưu và sau đó sẽ hiển thị ảnh trên trang. Nếu bạn chọn ảnh, ảnh sẽ hiển thị chính xác, hoặc dọc hoặc ngang. Khi bạn chụp ảnh, ảnh sẽ chỉ hiển thị ở chế độ nằm ngang, vì vậy nếu ảnh được chụp theo chiều dọc, ảnh sẽ hiển thị ở bên cạnh. Đây không phải là thảm họa, nhưng nó sẽ là tốt hơn để hiển thị hình ảnh như thế nào nó đã được thực hiện.
Vấn đề thứ hai sẽ mạnh hơn một chút, nếu bạn nhấn nút quay lại của thiết bị khi bạn ở trong máy ảnh hoặc thư viện hình ảnh thì màn hình sẽ trống và sau đó bạn nhận được thông báo cho biết ứng dụng đã ngừng phản hồi.
Tôi chỉ thử tính năng này trên Android cho đến thời điểm này. Có ai có bất kỳ ý tưởng về cách tôi có thể giải quyết các vấn đề trên?
EDIT: Tôi đã cố gắng sửa chữa những tiếng ầm ầm vào nút quay lại, nhưng hình ảnh vẫn hiển thị ở thành của nó dành cho Android, nhưng hiển thị một cách chính xác cho iOS
có ai giải quyết vấn đề này? –
Tôi chưa có cơ hội dùng thử các giải pháp này, nhưng nó dường như chỉ là một vấn đề trên các thiết bị Samsung.Hoạt động tốt trên các thiết bị khác mà tôi đã thử nghiệm trên – user1667474