Пример #1
0
        private void btnIcon_Click(object sender, EventArgs e)
        {
            if (Loading)
            {
                return;
            }
            ImagePicker.InitialDirectory = I9Gfx.GetPowersetsPath();
            ImagePicker.FileName         = myPS.ImageName;
            if (ImagePicker.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            var str = FileIO.StripPath(ImagePicker.FileName);

            if (!File.Exists(FileIO.AddSlash(ImagePicker.InitialDirectory) + str))
            {
                MessageBox.Show(
                    $"You must select an image from the {I9Gfx.GetPowersetsPath()} folder!\r\n\r\nIf you are adding a new image, you should copy it the folder and then select it.",
                    "Ah...", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                myPS.ImageName = str;
                DisplayIcon();
            }
        }
        private bool ChooseReleasePicture(ReleaseData releaseData, int releaseNumber)
        {
            List <ImageViewModel> images = new List <ImageViewModel>();

            foreach (ImageItem imageItem in releaseData.Images)
            {
                ImageViewModel imageViewModel = new ImageViewModel(imageItem);
                images.Add(imageViewModel);
            }

            string title = "Choose image for release " + releaseNumber + "/" + this.totalReleases + " - " + releaseData.Release.JoinedAlbumArtists + " - " + releaseData.Release.Title;

            bool pickResult = false;

            this.waitWindow.Dispatcher.Invoke(() =>
            {
                ImagePicker picker = new ImagePicker(title, images);
                if (picker.ShowDialog() == true)
                {
                    ImageViewModel selectedItem = (ImageViewModel)picker.SelectedItem;
                    this.UpdateImageForRelease(releaseData, selectedItem);
                    pickResult = true;
                }
                else if (picker.IsSkipped)
                {
                    pickResult = true;
                }
                else
                {
                    pickResult = false;
                }
            });

            return(pickResult);
        }
Пример #3
0
        private void OnDoubleClickImage(Object sender, ExecutedRoutedEventArgs e)
        {
            String parameter = (String)e.Parameter;

            ImagePicker picker = new ImagePicker(this._assets);

            if (!(picker.ShowDialog() ?? false))
            {
                return;
            }

            if (parameter == "large")
            {
                this._largeAsset       = picker.SelectedAsset;
                this.LargeImage.Source = picker.SelectedAsset.Image;
            }
            else if (parameter == "small")
            {
                this._smallAsset       = picker.SelectedAsset;
                this.SmallImage.Source = picker.SelectedAsset.Image;
            }
            else
            {
                throw new ArgumentOutOfRangeException(
                          $"Expected parameter to be one of \"small\" and \"large\". Received: \"{parameter}\" instead."
                          );
            }
        }
        protected override void OnElementChanged(ElementChangedEventArgs <Xamarin.Forms.Picker> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null || e.NewElement == null)
            {
                return;
            }

            element = (ImagePicker)this.Element;


            var editText = this.Control;

            if (!string.IsNullOrEmpty(element.Image))
            {
                switch (element.ImageAlignment)
                {
                case ImageAlignment.Left:
                    editText.SetCompoundDrawablesWithIntrinsicBounds(GetDrawable(element.Image), null, null, null);
                    break;

                case ImageAlignment.Right:
                    editText.SetCompoundDrawablesWithIntrinsicBounds(null, null, GetDrawable(element.Image), null);
                    break;
                }
            }
            // editText.SetBackground()
            editText.CompoundDrawablePadding = 25;
            Control.Background.SetColorFilter(element.LineColor.ToAndroid(), PorterDuff.Mode.SrcAtop);
        }
Пример #5
0
        protected override void OnElementChanged(ElementChangedEventArgs <Picker> e)
        {
            base.OnElementChanged(e);
            if (e.NewElement != null || e.NewElement == null)

            {
                var customPicker = e.NewElement as ImagePicker;
                element = (ImagePicker)this.Element;


                var picker = this.Control;
                if (!string.IsNullOrEmpty(element.Image))
                {
                    switch (element.ImageAlignment)
                    {
                    case ImageAlignment.Left:
                        picker.SetCompoundDrawablesWithIntrinsicBounds(GetDrawable(element.Image), null, null, null);
                        break;

                    case ImageAlignment.Right:
                        picker.SetCompoundDrawablesWithIntrinsicBounds(null, null, GetDrawable(element.Image), null);
                        break;
                    }
                }
                picker.CompoundDrawablePadding = 25;
                Control.Background.SetColorFilter(element.LineColor.ToAndroid(), PorterDuff.Mode.SrcAtop);

                Control.SetHintTextColor(Android.Graphics.Color.ParseColor(customPicker.PlaceholderColor));
            }
        }
Пример #6
0
        private void OnImagePickerFinishedPickingMedia(object sender, UIImagePickerMediaPickedEventArgs args)
        {
            string  targetPath = null;
            UIImage image      = args.EditedImage ?? args.OriginalImage;

            if (image != null)
            {
                // Convert UIImage to .NET Stream object
                NSData data = image.AsJPEG(1);
                using (System.IO.Stream stream = data.AsStream())
                {
                    string extension = ".jpg";

                    string fullFileName = FileNameWithoutExtension + extension;
                    targetPath = System.IO.Path.Combine(CopyToDirectory, fullFileName);

                    // copy the file to the destination and set the completion of the Task
                    using (var copiedFileStream = new System.IO.FileStream(targetPath, System.IO.FileMode.OpenOrCreate))
                    {
                        stream.CopyTo(copiedFileStream);
                    }
                    TaskCompletionSource.SetResult(fullFileName); // we'll reconstruct the path at runtime
                }
            }
            else
            {
                TaskCompletionSource.SetResult(null);
            }
            ImagePicker.DismissViewController(true, null);
        }
Пример #7
0
    void Start()
    {
#if UNITY_ANDROID
        imagePicker = new ImagePickerAndroid();
#elif UNITY_IPHONE
        imagePicker = new ImagePickeriOS();
#endif
    }
Пример #8
0
        private int GetRandomImage()
        {
            string imageName = ImagePicker.GetRandomImage(ViewModel.CurrentGem.author);

            int result = (int)typeof(Resource.Drawable).GetField(imageName.ToLower()).GetValue(null);

            return(result);
        }
Пример #9
0
 public SplitChannelSettings(Image previewControl, Image tooltipControl, CheckBox invertCheckbox, Button saveButton, ImagePicker imagePicker, EChannel targetChannel)
 {
     this.previewControl = previewControl;
     this.tooltipControl = tooltipControl;
     this.invertCheckbox = invertCheckbox;
     this.saveButton     = saveButton;
     this.targetChannel  = targetChannel;
     this.imagePicker    = imagePicker;
 }
Пример #10
0
    public override void  Start()
    {
        base.Start();
        imagePicker = GetOrCreateComponent <ImagePicker>();
        data        = new ImagePickerData(null, null, "Gallery", 1600, 1600, true, true);

        data.gameObject = gameObject.name;
        data.callback   = CustomeReceiver;
    }
Пример #11
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            OverridePendingTransition(0, 0);

            SetTheme(StyleHelper.Style.CommonActivityStyle);

            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_chat_details);

            _navigationBarView = FindViewById <NavigationBarView>(Resource.Id.activity_chat_details_navigation_bar);
            _navigationBarView.SetLeftButton(StyleHelper.Style.NavigationBarBackButtonIcon, ViewModel.BackCommand);
            _navigationBarView.SetTitle(ViewModel.LocalizedStrings.DetailsTitle);
            _navigationBarView.SetRightButton(ViewModel.LocalizedStrings.Save, new RelayCommand(OnSaveClick));
            _navigationBarView.RightTextButton.Visibility = ViewStates.Gone;

            _chatPhotoImageView = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo);

            _chatEditedPhotoImageView = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo_edited);

            _chatNameText     = FindViewById <TextView>(Resource.Id.activity_chat_details_chat_name);
            _chatNameEditText = FindViewById <EditText>(Resource.Id.activity_chat_details_chat_name_edit);

            _chatMembersCountTextView = FindViewById <TextView>(Resource.Id.tv_members_count);

            _addMemberContainer = FindViewById <LinearLayout>(Resource.Id.activity_chat_details_add_member_container);
            _addmemberImageView = FindViewById <ImageView>(Resource.Id.activity_chat_details_add_member_image);
            _addmemberImageView.SetImageResource(StyleHelper.Style.AddMemberIcon);
            _addMemberTextView      = FindViewById <TextView>(Resource.Id.activity_chat_details_add_member_text);
            _addMemberTextView.Text = ViewModel.LocalizedStrings.AddMembers;

            _membersRecyclerView = FindViewById <RecyclerView>(Resource.Id.rv_contacts_list);

            _changeChatPhotoButton = FindViewById <Button>(Resource.Id.b_chat_change_photo);
            _changeChatPhotoButton.SetCommand(new RelayCommand(OpenImagePicker));
            _changeChatPhotoButton.Text = ViewModel.LocalizedStrings.ChangePhoto;

            _muteNotificationsLabel      = FindViewById <TextView>(Resource.Id.activity_chat_details_mute_label);
            _muteNotificationsLabel.Text = ViewModel.LocalizedStrings.Notifications;
            _muteNotificationsSwitch     = FindViewById <SwitchCompat>(Resource.Id.activity_chat_details_mute_switch);
            _muteNotificationsSwitch.SetCommand(ViewModel.HeaderViewModel.ChangeMuteNotificationsCommand);

            InitializeMembersRecyclerView();

            // TODO YP: remove ServiceLocator
            _imagePicker = new ImagePicker(
                Dependencies.Container.Resolve <IPermissionsManager>(),
                Dependencies.Container.Resolve <IImagePickerService>())
            {
                MaxImageWidth = 300
            };

            _busyOverlayView = FindViewById <BusyOverlayView>(Resource.Id.activity_chat_details_busy_view);
        }
Пример #12
0
 /// <summary>Handles loading and changing the Server Icon</summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void PFPPictureBox_Click(object sender, EventArgs e)
 {
     if (ImagePicker.ShowDialog() == DialogResult.OK)
     {
         Image NewPFP = Trace.SafeLoadImage(ImagePicker.FileName);
         PFPPictureBox.Image = NewPFP;
         MyTrace.ServerLogo  = NewPFP;
         GeneratePreview();
         Modified = true;
     }
 }
Пример #13
0
 private void start()
 {
     ImagePicker.With(this)
     .SetFolderMode(config.FolderMode)
     .SetCameraOnly(config.CameraOnly)
     .SetFolderTitle(config.FolderTitle)
     .SetMultipleMode(config.MultipleMode)
     .SetSelectedImages(config.SelectedImages)
     .SetMaxSize(config.MaxSize)
     .Start();
 }
Пример #14
0
    void SetupPicker()
    {
        if (picker == null)
        {
            picker = SmartMonoBehaviour.FindOrCreate <ImagePicker>();
        }

        data            = new ImagePickerData();
        data.gameObject = name;
        data.callback   = ReceiveFilename;
        data.showCamera = true;
    }
Пример #15
0
        public void SelectUserAvatar(ObservableUser observableUser)
        {
//            var fileDialog = new OpenFileDialog();
//            var result = fileDialog.ShowDialog();
//
//            if (result == true)
//            {
//                var file = fileDialog.FileName;
//                observableUser.Image = file;
//            }
            ImagePicker.PickImage(observableUser, nameof(observableUser.Image));
        }
        protected override FrameworkElement GenerateEditingElement(DataGridCell cell, object dataItem)
        {
            var element = new ImagePicker();

            element.IsEditable = true;

            //the binding order of FilePath and ImageStream is important because the dependent of its. Must set ImageStream binding before FilePath binding because if set FilePath fisrt, ImageStream create by FilePath will be overrided by ImageStream binding value
            element.SetBinding(ImagePicker.ImageStreamProperty, ImageStreamBinding);
            element.SetBinding(ImagePicker.FilePathProperty, Binding);

            return(element);
        }
Пример #17
0
        // This is a sample method that handles the FinishedPickingMediaEvent
        protected void Handle_FinishedPickingMedia(object sender, UIImagePickerMediaPickedEventArgs e)
        {
            // get the original image
            UIImage originalImage = e.Info[UIImagePickerController.OriginalImage] as UIImage;

            // do something with the image

            //UIImage logoImage = originalImage;
            Imagelogo.Image = originalImage;

            // dismiss the picker
            ImagePicker.DismissModalViewController(true);
        }
Пример #18
0
        protected override void OnElementChanged(ElementChangedEventArgs <Picker> e)
        {
            base.OnElementChanged(e);

            element = (ImagePicker)this.Element;
            var editText = this.Control;

            if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.Image))
            {
                editText.SetCompoundDrawablesWithIntrinsicBounds(AddPickerStyles(element.Image), null, null, null);
            }
            editText.CompoundDrawablePadding = 25;
        }
        //protected override void OnElementChanged(ElementChangedEventArgs<Syncfusion.SfPicker.XForms.SfPicker> e)
        //{
        //    base.OnElementChanged(e);

        //    element = (ImagePicker)this.Element;

        //    //if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.DropDownImage))
        //    //{

        //    //    Control.Dra .SetCompoundDrawablesWithIntrinsicBounds(null, null, AddPickerStyles(element.DropDownImage, GravityFlags.Left), null);
        //    //    Control.SetHintTextColor(element.PlaceHolderColor.ToAndroid());
        //    //}

        //    //Control.CompoundDrawablePadding = 25;
        //}

        protected override void OnElementChanged(ElementChangedEventArgs <Picker> e)
        {
            base.OnElementChanged(e);

            element = (ImagePicker)this.Element;

            if (Control != null && this.Element != null && !string.IsNullOrEmpty(element.DropDownImage))
            {
                Control.SetCompoundDrawablesWithIntrinsicBounds(null, null, AddPickerStyles(element.DropDownImage, GravityFlags.Left), null);
                Control.SetHintTextColor(element.PlaceHolderColor.ToAndroid());
            }

            Control.CompoundDrawablePadding = 25;
        }
        public void Start()
        {
            bool folderMode   = folderModeSwitch.Checked;
            bool multipleMode = multipleModeSwitch.Checked;
            bool cameraOnly   = cameraOnlySwitch.Checked;

            ImagePicker.With(this)
            .SetFolderMode(folderMode)
            .SetCameraOnly(cameraOnly)
            .SetFolderTitle("Album")
            .SetMultipleMode(multipleMode)
            .SetSelectedImages(images)
            .SetMaxSize(10)
            .Start();
        }
Пример #21
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            OverridePendingTransition(0, 0);

            SetTheme(StyleHelper.Style.CommonActivityStyle);

            base.OnCreate(savedInstanceState);

            SetContentView(Resource.Layout.activity_chat_create);

            _navigationBarView = FindViewById <NavigationBarView>(Resource.Id.activity_chat_create_navigation_bar);
            _navigationBarView.SetLeftButton(StyleHelper.Style.NavigationBarBackButtonIcon, ViewModel.BackCommand);
            _navigationBarView.SetTitle(ViewModel.LocalizedStrings.CreateGroup);
            _navigationBarView.SetRightButton(ViewModel.LocalizedStrings.Create, new RelayCommand(() =>
            {
                KeyboardService.HideSoftKeyboard(_chatNameEditTextView);

                ViewModel.SaveCommand.Execute(_imagePicker.GetStreamFunc());
            }));
            _navigationBarView.RightTextButton.SetBackgroundColor(Color.Transparent);

            _chatPhotoImageView       = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo);
            _chatEditedPhotoImageView = FindViewById <MvxCachedImageView>(Resource.Id.iv_chat_photo_edited);
            _chatNameEditTextView     = FindViewById <EditText>(Resource.Id.et_chat_name);
            _contactsRecyclerView     = FindViewById <RecyclerView>(Resource.Id.rv_contacts_list);
            _membersCountTextView     = FindViewById <TextView>(Resource.Id.tv_members_count);
            _changeChatPhotoButton    = FindViewById <Button>(Resource.Id.b_chat_change_photo);
            _changeChatPhotoButton.SetCommand(new RelayCommand(ChangePhoto));
            _changeChatPhotoButton.Text = ViewModel.LocalizedStrings.ChangePhoto;

            InitializeContactsRecyclerView();

            _imagePicker = new ImagePicker(Dependencies.PermissionsManager, Dependencies.Container.Resolve <IImagePickerService>())
            {
                MaxImageWidth = 300
            };

            _chatPhotoImageView.SetImageResource(StyleHelper.Style.ChatGroupNoAvatarIcon);
            _chatEditedPhotoImageView.Visibility = ViewStates.Gone;

            _addMembers      = FindViewById <Button>(Resource.Id.activity_chat_create_add_member);
            _addMembers.Text = ViewModel.LocalizedStrings.AddMembers;
            _addMembers.SetCommand(ViewModel.AddMembersCommand);

            _chatNameEditTextView.Hint = ViewModel.LocalizedStrings.ChatName;

            _busyOverlayView = FindViewById <BusyOverlayView>(Resource.Id.activity_chat_create_busy_view);
        }
Пример #22
0
    public void OpenGallery()
    {
        Debug.Log("Kauel: OpenGallery External");

        ImagePicker.OpenGallery((Texture2D tex, ExifOrientation orientation) => {
            Debug.Log("Kauel: OpenGallery Internal");

            if (tex != null)

            {
                Alert.Singleton.ShowAlert(Alert.Message.LOADING, false, delegate() {
                    Debug.Log("Kauel: w:" + tex.width + "h:" + tex.height);

                    int w = tex.width;

                    int h = tex.height;

                    if (w > h)
                    {
                        w = 1024;

                        h = tex.height * w / tex.width;
                    }
                    else
                    {
                        h = 1024;

                        w = tex.width * h / tex.height;
                    }

                    Texture2D resizedTex = tex.NewResizedTexture(w, h);

                    //   Destroy(tex); //Esta linea está a prueba.

                    RawImageEdit.texture = resizedTex;

                    Alert.Singleton.CloseAlert(true);

                    TheKamera.StartFile(resizedTex);

                    kuiPanelManager.ShowOnlyThisPanel(3);
                });
            }
        }, true, ImagePickerType.UIImagePickerControllerSourceTypePhotoLibrary);
    }
Пример #23
0
        private void BackgroundTypeComboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            switch (BackgroundTypeComboBox.SelectedIndex)
            {
            case 0:

                //Launch an OpenFileDialog to pick a tile
                if (ImagePicker.ShowDialog() == DialogResult.OK)
                {
                    TileBackground = Trace.SafeLoadImage(ImagePicker.FileName);
                }
                else
                {
                    BackgroundTypeComboBox.SelectedIndex = -1;
                }

                break;

            case 1:

                //Launch the Color Picker from UserForm to pick a color
                UserForm.LoadColors();

                if (UserForm.CardColorPicker.ShowDialog() == DialogResult.OK)
                {
                    TileBackground = new Bitmap(256, 256);
                    using (Graphics GRD = Graphics.FromImage(TileBackground))
                        using (Brush T = new SolidBrush(UserForm.CardColorPicker.Color)) { GRD.FillRectangle(T, 0, 0, 256, 256); }
                }
                else
                {
                    BackgroundTypeComboBox.SelectedIndex = -1;
                }

                UserForm.SaveColors();

                break;

            default:
                break;
            }

            pictureBox1.Image = TileBackground;
        }
Пример #24
0
        public void CreateUI()
        {
            AnnotationValue.PropertyChanged += new PropertyChangedEventHandler(OnResourcePropertyChanged);

            if (IsTexture)
            {
                UIElement = new ImagePicker(this);
            }
            else if (DataType.IsBool() && IsScalar)
            {
                UIElement = PropertyHelpers.CreateCheckBox(this, "Value", Value);
            }
            else if (!DataType.IsBool() && IsScalar && (IsSNorm || IsUNorm ||
                                                        (Annotations?.Contains(new KeyValuePair <string, string>("UIWidget", "Slider")) ?? false)))
            {
                object val = Value;
                if (val == null)
                {
                    if (DataType.IsIntegral())
                    {
                        Value = 0;
                    }
                    else
                    {
                        Value = 0.0;
                    }
                }
                UIElement = PropertyHelpers.CreateSlider(this, "Value", this, val);
            }
            else if (!IsMatrix && (Columns == 3 || Columns == 4) &&
                     (Annotations?.Contains(new KeyValuePair <string, string>("UIWidget", "Color")) ?? false))
            {
                UIElement = PropertyHelpers.CreateColorPicker(this, "Value", (Columns == 4) ? true : false, Value);
            }
            else if (IsScalar)
            {
                UIElement = PropertyHelpers.CreateSpinner(this, "Value", this, Value);
            }
            else
            {
                UIElement = new DropdownVecMatProperty(this);
            }
        }
Пример #25
0
    private void SetFileName(string path)
    {
        receivedMimeType = selectedMimeType;
        shareFile        = path;
        data.imageSetter = x => share = x;
        switch (selectedMimeType)
        {
        case 1:     //video
            //load a preview
            picker.GetVideoPreview(data, shareFile);
            break;

        case 0:     //image
            StartCoroutine(ImagePicker.LoadImage(shareFile, data.imageSetter));
            break;

        default:
            Debug.LogWarning("Implement your mimetype handling here");
            break;
        }
    }
Пример #26
0
    /// <summary>
    /// Customized callback so we get more control
    /// </summary>
    /// <param name="value">the filename (or names) of the selected file</param>
    public virtual void ReceiveFilename(string result)
    {
        if (string.IsNullOrEmpty(result))
        {
            //use logcat to get more information
            Debug.Log("Result was empty, check logcat");
            if (data.callbackError != null)
            {
                data.callbackError.Invoke();
            }
            return;
        }

        if (data.imageSetter == null)
        {
            SetFileName(result);
        }
        else
        {
            StartCoroutine(ImagePicker.LoadImage(result, data.imageSetter));
        }
    }
Пример #27
0
 void btnImage_Click(object sender, EventArgs e)
 {
     if (Loading)
     {
         return;
     }
     ImagePicker.InitialDirectory = I9Gfx.GetEnhancementsPath();
     ImagePicker.FileName         = mySet.Image;
     if (ImagePicker.ShowDialog() == DialogResult.OK)
     {
         string str = FileIO.StripPath(ImagePicker.FileName);
         if (!File.Exists(FileIO.AddSlash(ImagePicker.InitialDirectory) + str))
         {
             int num = (int)Interaction.MsgBox(("You must select an image from the " + I9Gfx.GetEnhancementsPath() + " folder!\r\n\r\nIf you are adding a new image, you should copy it to the folder and then select it."), MsgBoxStyle.Information, "Ah...");
         }
         else
         {
             mySet.Image = str;
             DisplayIcon();
         }
     }
 }
        private bool ChooseReleasePicture(ReleaseData releaseData, int releaseNumber)
        {
            List<ImageViewModel> images = new List<ImageViewModel>();
            foreach (ImageItem imageItem in releaseData.Images)
            {
                ImageViewModel imageViewModel = new ImageViewModel(imageItem);
                images.Add(imageViewModel);
            }

            string title = "Choose image for release " + releaseNumber + "/" + this.totalReleases + " - " + releaseData.Release.JoinedAlbumArtists + " - " + releaseData.Release.Title;

            bool pickResult = false;

            this.waitWindow.Dispatcher.Invoke(() =>
            {
                ImagePicker picker = new ImagePicker(title, images);
                if (picker.ShowDialog() == true)
                {
                    ImageViewModel selectedItem = (ImageViewModel)picker.SelectedItem;
                    this.UpdateImageForRelease(releaseData, selectedItem);
                    pickResult = true;
                }
                else if (picker.IsSkipped)
                {
                    pickResult = true;
                }
                else
                {
                    pickResult = false;
                }
            });

            return pickResult;
        }
Пример #29
0
 private void OnImagePickerCancelled(object sender, EventArgs args)
 {
     TaskCompletionSource.SetResult(null);
     ImagePicker.DismissViewController(true, null);
 }
Пример #30
0
        private void SetupUserInterface()
        {
            BackgroundColor = Color.Black;
            NavigationPage.SetHasNavigationBar(this, false);

            colorButton = new Image
            {
                Source = Images.Paintbrush
            };

            clockButton = new Image
            {
                Source = Images.ClockButton
            };

            sendButton = new Image
            {
                Source = Images.SendMomentButton
            };

            cancelButton = new Image
            {
                Source = Images.CancelButton,
                HorizontalOptions = LayoutOptions.Start,
                HeightRequest = 22,
                WidthRequest = 22
            };

            var moment = new Image
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions = LayoutOptions.FillAndExpand,
                Source = ImageSource.FromStream(() => new MemoryStream(ViewModel.Image))
            };

            var drawableMoment = new DrawableImage
            {
                BackgroundColor = Color.Transparent
            };
            drawableMoment.SetBinding(DrawableImage.CurrentLineColorProperty, "PenColor");

            mainLayout = new RelativeLayout()
            {
                Padding = new Thickness(0)
            };

            mainLayout.Children.Add(moment,
                Constraint.Constant(0),
                Constraint.Constant(0),
                Constraint.RelativeToParent((parent) => { return parent.Width; }),
                Constraint.RelativeToParent((parent) => { return parent.Height; }));

            mainLayout.Children.Add(drawableMoment,
                Constraint.Constant(0),
                Constraint.Constant(0),
                Constraint.RelativeToParent((parent) => { return parent.Width; }),
                Constraint.RelativeToParent((parent) => { return parent.Height; }));

            mainLayout.Children.Add(colorButton,
                Constraint.RelativeToParent((parent) => { return parent.Width - 40; }),
                Constraint.Constant(15),
                Constraint.Constant(30),
                Constraint.Constant(30));

            mainLayout.Children.Add(cancelButton,
                Constraint.RelativeToParent((parent) => { return 15; }),
                Constraint.Constant(15),
                Constraint.Constant(30),
                Constraint.Constant(30));

            mainLayout.Children.Add(clockButton,
                Constraint.Constant(15),
                Constraint.RelativeToParent((parent) => { return parent.Height - 40; }),
                Constraint.Constant(30),
                Constraint.Constant(30));

            mainLayout.Children.Add(sendButton,
                Constraint.RelativeToParent((parent) => { return parent.Width - 40; }),
                Constraint.RelativeToParent((parent) => { return parent.Height - 40; }),
                Constraint.Constant(30),
                Constraint.Constant(30));

            picker = new ImagePicker();
            GetTimePickerItems();
            SetupBindings();
            mainLayout.Children.Add(picker,
                Constraint.Constant(15),
                Constraint.RelativeToParent((parent) => { return parent.Height - 40; }),
                Constraint.Constant(30),
                Constraint.Constant(30));

            Content = mainLayout;
        }
Пример #31
0
        public override System.Boolean OnOptionsItemSelected(IMenuItem item)
        {
            switch (item.ItemId)
            {
            case Resource.Id.id_action_btn_Add: {
                ImagePicker.With(this).SetFolderMode(true)
                .SetCameraOnly(false)
                .SetFolderTitle("Album")
                .SetMultipleMode(true)
                .SetSelectedImages(mImageList)
                .SetMaxSize(10)
                .Start();
                // GetImageStreamAsync();
                break;
            }

            case Resource.Id.id_action_btn_remove_all: {
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetTitle("提示");
                builder.SetMessage("是否要删除所有已选照片?");
                builder.SetPositiveButton(Resource.String.str_cn_confrim, (ss, ee) => {
                        mImageAdapter.mImageViewer.RemoveAll();
                        mImageAdapter.NotifyDataSetChanged();
                    });
                builder.SetNegativeButton(Resource.String.str_cn_cancel, (ss, ee) => { });
                builder.Create().Show();
                break;
            }

            case Resource.Id.id_action_btn_appinfo: {
                string curInfo = "联系作者:[email protected]\n\n" + "软件版本:\n" +
                                 "\n\t版本号 " + mHhiAndroid.GetAppInfo().CurrentVer.ToString() +
                                 "\n\t传输协议版本 " + mHhiAndroid.GetAppInfo().NetProtocolVer.ToString() + "\n\n";

                string checkResult          = mHhiAndroid.CheckVer();
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetTitle("提示");
                if (checkResult == "uptodate")
                {
                    builder.SetMessage(curInfo + "已是最新版本");
                    builder.SetPositiveButton(Resource.String.str_cn_confrim, (sender, e) => { });
                }
                else if (checkResult == "obsoleted")
                {
                    builder.SetMessage(curInfo + "当前版本已经被废弃不可使用\n请更新");
                    builder.SetPositiveButton(Resource.String.str_cn_confrim, (ss, ee) => {
                            Intent intent = new Intent();
                            intent.SetAction("android.intent.action.VIEW");
                            Uri content_url = Uri.Parse(checkResult);
                            intent.SetData(content_url);
                            StartActivity(intent);
                        });
                    builder.SetNegativeButton(Resource.String.str_cn_cancel, (ss, ee) => { });
                }
                else
                {
                    builder.SetMessage(curInfo + "有新版本可以使用\n是否更新?");
                    builder.SetPositiveButton(Resource.String.str_cn_confrim, (ss, ee) => {
                            Intent intent = new Intent();
                            intent.SetAction("android.intent.action.VIEW");
                            Uri content_url = Uri.Parse(checkResult);
                            intent.SetData(content_url);
                            StartActivity(intent);
                        });
                    builder.SetNegativeButton(Resource.String.str_cn_cancel, (ss, ee) => { });
                }
                builder.Create().Show();
                break;
            }
            }
            return(base.OnOptionsItemSelected(item) || mDrawerToggle.OnOptionsItemSelected(item));
        }
Пример #32
0
        private string GetRandomImage()
        {
            string result = ImagePicker.GetRandomImage(ViewModel.CurrentGem.author);

            return("Images/" + result + ".jpg");
        }