private void ContentPage_Appearing(object sender, EventArgs e)
        {
            SKBitmap bitmap = SKBitmap.Decode(getStream);

            photoCropper = new PhotoCropperCanvasView(bitmap);

            canvasViewHost.Children.Add(photoCropper);
        }
Beispiel #2
0
        public BitmapResizeView()
        {
            InitializeComponent();

            var bitmap = BitmapExtensions.LoadBitmapResource(typeof(BitmapRotateView), "SkiaSharp_Samples.Resources.Banana.jpg");

            photoCropper = new PhotoCropperCanvasView(bitmap);
            canvasViewHost.Children.Add(photoCropper);
        }
        private async void BtnSave_Clicked(object sender, EventArgs e)
        {
            croppedBitmap = photoCropper.CroppedBitmap;

            SKCanvasView canvasView = new SKCanvasView();

            canvasView.PaintSurface += OnCanvasViewPaintSurface;

            PhotoCropperCanvasView Cropper = new PhotoCropperCanvasView(croppedBitmap);

            canvasViewHost.Children.Add(Cropper);

            if (this.btnSave.Text == "使用")
            {
                using (MemoryStream memStream = new MemoryStream())
                    using (SKManagedWStream wstream = new SKManagedWStream(memStream))
                    {
                        croppedBitmap.Encode(wstream, SKEncodedImageFormat.Jpeg, 10);

                        byte[] data = memStream.ToArray();

                        if (data == null)
                        {
                            await DisplayAlert("提示", "Encode returned null", "确认");
                        }
                        else if (data.Length == 0)
                        {
                            await DisplayAlert("提示", "Encode returned empty array", "确认");
                        }
                        else
                        {
                            #region
                            //await DisplayAlert("data提示", data.Length.ToString(), "确认");

                            string url = $"/{Version_Helper.versionNumber}/user_/update-croppedimgage?Account={OptionText_Helper.ReadAllText("Account")}";

                            var content = await WebApiService_Helper.PostUpLoadImageHelperAsync(url, OptionImages_Helper.CopyImageGetStream(data));

                            if (content != "no")
                            {
                                OptionText_Helper.WriteText("Picture", content);
                                await DisplayAlert("成功提示", "图片已经修改成功!", "确认");

                                await Navigation.PopAsync();
                            }
                            else
                            {
                                await DisplayAlert("错误提示", content, "确认");
                            }
                            #endregion
                        }
                    }
            }
            this.btnSave.Text = "使用";
        }
        public PhotoCroppingPage(MediaFile image)
        {
            InitializeComponent();

            this.image = image;
            SKBitmap bitmap = SKBitmap.Decode(image.GetStream());


            // SKBitmap bitmap = BitmapExtensions.LoadBitmapResource(GetType(), "Is This Vegan.SharedMedia.test_ingredient_list_full.jpg");

            photoCropper = new PhotoCropperCanvasView(bitmap);
            canvasViewHost.Children.Add(photoCropper);
        }