예제 #1
0
 private void rcb_ValueChanged(object sender, RoutedEventArgs e)
 {
     ImageChanged?.Invoke(sender, new ImagePickerEventArgs()
     {
         Text = (string)tbMain.Text
     });
 }
예제 #2
0
        private void refresh()
        {
            bool oldHistory = doHistory;

            doHistory = false;
            name.DataBindings.Clear();
            name.DataBindings.Add("Text", race, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
            flavour.DataBindings.Clear();
            NewlineFormatter.Add(flavour.DataBindings, "Text", race, "Flavour", true, DataSourceUpdateMode.OnPropertyChanged);
            source.DataBindings.Clear();
            source.DataBindings.Add("Text", race, "Source", true, DataSourceUpdateMode.OnPropertyChanged);
            description.DataBindings.Clear();
            NewlineFormatter.Add(description.DataBindings, "Text", race, "Description", true, DataSourceUpdateMode.OnPropertyChanged);
            features1.features        = race.Features;
            decriptions1.descriptions = race.Descriptions;
            preview.Navigate("about:blank");
            preview.Document.OpenNew(true);
            preview.Document.Write(race.ToHTML());
            ParentRace.DataBindings.Clear();
            ParentRace.DataBindings.Add("Text", race, "RaceName", true, DataSourceUpdateMode.OnPropertyChanged);
            ImageChanged?.Invoke(this, race.GetImage());
            preview.Refresh();
            source.AutoCompleteCustomSource.Clear();
            source.AutoCompleteCustomSource.AddRange(SourceManager.Sources.ToArray());
            onChange();
            doHistory = oldHistory;
        }
예제 #3
0
        private void refresh()
        {
            bool oldHistory = doHistory;

            doHistory = false;
            name.DataBindings.Clear();
            name.DataBindings.Add("Text", lang, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
            Script.DataBindings.Clear();
            Script.DataBindings.Add("Text", lang, "Skript", true, DataSourceUpdateMode.OnPropertyChanged);
            Speakers.DataBindings.Clear();
            Speakers.DataBindings.Add("Text", lang, "TypicalSpeakers", true, DataSourceUpdateMode.OnPropertyChanged);
            source.DataBindings.Clear();
            source.DataBindings.Add("Text", lang, "Source", true, DataSourceUpdateMode.OnPropertyChanged);
            description.DataBindings.Clear();
            NewlineFormatter.Add(description.DataBindings, "Text", lang, "Description", true, DataSourceUpdateMode.OnPropertyChanged);
            ImageChanged?.Invoke(this, lang.GetImage());
            preview.Navigate("about:blank");
            preview.Document.OpenNew(true);
            preview.Document.Write(lang.ToHTML());
            preview.Refresh();
            source.AutoCompleteCustomSource.Clear();
            source.AutoCompleteCustomSource.AddRange(SourceManager.Sources.ToArray());
            onChange();
            doHistory = oldHistory;
        }
예제 #4
0
 void _thumbnailViewer_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (ImageChanged != null && _thumbnailViewer.HasSelection)
     {
         ImageChanged.Invoke(this, null);
     }
 }
예제 #5
0
        private void refresh()
        {
            bool oldHistory = doHistory;

            doHistory = false;
            name.DataBindings.Clear();
            name.DataBindings.Add("Text", cls, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
            flavour.DataBindings.Clear();
            NewlineFormatter.Add(flavour.DataBindings, "Text", cls, "Flavour", true, DataSourceUpdateMode.OnPropertyChanged);
            source.DataBindings.Clear();
            source.DataBindings.Add("Text", cls, "Source", true, DataSourceUpdateMode.OnPropertyChanged);
            description.DataBindings.Clear();
            NewlineFormatter.Add(description.DataBindings, "Text", cls, "Description", true, DataSourceUpdateMode.OnPropertyChanged);
            features1.features        = cls.Features;
            decriptions1.descriptions = cls.Descriptions;
            traits.DataSource         = new BindingList <TableEntry>(cls.PersonalityTrait);
            ideal.DataSource          = new BindingList <TableEntry>(cls.Ideal);
            bond.DataSource           = new BindingList <TableEntry>(cls.Bond);
            flaw.DataSource           = new BindingList <TableEntry>(cls.Flaw);
            ImageChanged?.Invoke(this, cls.GetImage());
            preview.Navigate("about:blank");
            preview.Document.OpenNew(true);
            preview.Document.Write(cls.ToHTML());
            preview.Refresh();
            source.AutoCompleteCustomSource.Clear();
            source.AutoCompleteCustomSource.AddRange(SourceManager.Sources.ToArray());
            onChange();
            doHistory = oldHistory;
        }
예제 #6
0
 private void OnImageChanged()
 {
     if (ImageChanged != null)
     {
         ImageChanged.Invoke();
     }
 }
예제 #7
0
        private void GetImageFileFromSystem()
        {
            try
            {
                SetMode(Modes.SingleImage);
                // The primary thing that OpenFileDialogWithViews buys us is the ability to default to large icons.
                // OpenFileDialogWithViews still doesn't let us read (and thus remember) the selected view.
                using (var dlg = new OpenFileDialogWithViews(OpenFileDialogWithViews.DialogViewTypes.Large_Icons))
                {
                    if (string.IsNullOrEmpty(ImageToolboxSettings.Default.LastImageFolder))
                    {
                        dlg.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
                    }
                    else
                    {
                        dlg.InitialDirectory = ImageToolboxSettings.Default.LastImageFolder;;
                    }

                    dlg.Title = "Choose Picture File".Localize("ImageToolbox.FileChooserTitle", "Title shown for a file chooser dialog brought up by the ImageToolbox");

                    //NB: dissallowed gif because of a .net crash:  http://jira.palaso.org/issues/browse/BL-85
                    dlg.Filter = "picture files".Localize("ImageToolbox.PictureFiles", "Shown in the file-picking dialog to describe what kind of files the dialog is filtering for") + "(*.png;*.tif;*.tiff;*.jpg;*.jpeg;*.bmp)|*.png;*.tif;*.tiff;*.jpg;*.jpeg;*.bmp;";

                    if (DialogResult.OK == dlg.ShowDialog(this.ParentForm))
                    {
                        ImageToolboxSettings.Default.LastImageFolder = Path.GetDirectoryName(dlg.FileName);
                        ImageToolboxSettings.Default.Save();

                        try
                        {
                            _currentImage = PalasoImage.FromFile(dlg.FileName);
                        }
                        catch (Exception err)                         //for example, http://jira.palaso.org/issues/browse/BL-199
                        {
                            var msg = "Sorry, there was a problem loading that image.".Localize(
                                "ImageToolbox.ProblemLoadingImage");
                            if (ImageLoadingExceptionReporter != null)
                            {
                                ImageLoadingExceptionReporter(dlg.FileName, err, msg);
                            }
                            else
                            {
                                ErrorReport.NotifyUserOfProblem(err, msg);
                            }

                            return;
                        }
                        _pictureBox.Image = _currentImage.Image;
                        if (ImageChanged != null)
                        {
                            ImageChanged.Invoke(this, null);
                        }
                    }
                }
            }
            finally
            {
                _actModal = false;
            }
        }
예제 #8
0
 protected virtual void OnImageChanged(EventArgs e)
 {
     if (ImageChanged != null)
     {
         ImageChanged.Invoke(this, e);
     }
 }
예제 #9
0
        private void refresh()
        {
            bool oldHistory = doHistory;

            doHistory = false;
            name.DataBindings.Clear();
            name.DataBindings.Add("Text", cls, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
            SheetName.DataBindings.Clear();
            SheetName.DataBindings.Add("Text", cls, "SheetName", true, DataSourceUpdateMode.OnPropertyChanged);
            flavour.DataBindings.Clear();
            NewlineFormatter.Add(flavour.DataBindings, "Text", cls, "Flavour", true, DataSourceUpdateMode.OnPropertyChanged);
            source.DataBindings.Clear();
            source.DataBindings.Add("Text", cls, "Source", true, DataSourceUpdateMode.OnPropertyChanged);
            description.DataBindings.Clear();
            NewlineFormatter.Add(description.DataBindings, "Text", cls, "Description", true, DataSourceUpdateMode.OnPropertyChanged);
            ParentClass.DataBindings.Clear();
            ParentClass.DataBindings.Add("Text", cls, "ClassName", true, DataSourceUpdateMode.OnPropertyChanged);
            features1.features          = cls.Features;
            featuresFirstClass.features = cls.FirstClassFeatures;
            featuresMultiClass.features = cls.MulticlassingFeatures;
            decriptions1.descriptions   = cls.Descriptions;
            ImageChanged.Invoke(this, cls.GetImage());
            preview.Navigate("about:blank");
            preview.Document.OpenNew(true);
            preview.Document.Write(cls.ToHTML());
            preview.Refresh();
            source.AutoCompleteCustomSource.Clear();
            source.AutoCompleteCustomSource.AddRange(SourceManager.Sources.ToArray());
            MulticlassSpellLevels.Items = cls.MulticlassingSpellLevels;
            onChange();
            doHistory = oldHistory;
        }
예제 #10
0
        private async void lbPictures_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (e != null && e.AddedItems.Count > 0)
            {
                var ili = e.AddedItems[0] as ImageListItem;

                ImageUri = $"x-ext://{ili.AppExtensionId}/{ili.File}";

                ImageChanged?.Invoke(sender, new ImagePickerEventArgs()
                {
                    Text           = ImageUri,
                    AppExtensionId = ili.AppExtensionId,
                    File           = ili.File
                });



                //set imagesource
                var el = ExtensionsService.Instance.FindExtensionLiteInstance(ili.AppExtensionId);
                var packageDirectory = el.AppExtension.Package.InstalledLocation;
                var publicDirectory  = await packageDirectory.GetFolderAsync("public");

                var ImageFile = await publicDirectory.GetFileAsync(ili.File);

                var bitmapImage = new BitmapImage();
                using (var stream = await ImageFile.OpenReadAsync())
                {
                    await bitmapImage.SetSourceAsync(stream);
                }
                ImageSource = bitmapImage;
            }
        }
예제 #11
0
        private void button1_Click(object sender, EventArgs e)
        {
            if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                ImageFormat fmt = null;
                //jpg|*jpg|gif|*.gif|png|*.png|bmp|*.bmp|ico|*.ico
                switch (saveFileDialog1.FilterIndex)
                {
                case 1:
                    fmt = ImageFormat.Jpeg;
                    break;

                case 2:
                    fmt = ImageFormat.Gif;
                    break;

                case 3:
                    fmt = ImageFormat.Png;
                    break;

                case 4:
                    fmt = ImageFormat.Bmp;
                    break;

                case 5:
                    fmt = ImageFormat.Icon;
                    break;
                }
                using (ImageChanged image = new ImageChanged(textBox1.Text))
                {
                    image.Save(saveFileDialog1.FileName, fmt);
                }
            }
        }
예제 #12
0
        private void button2_Click(object sender, EventArgs e)
        {
            if (textBox2.Text == "")
            {
                int exlen = Path.GetExtension(textBox1.Text).Length;

                textBox2.Text = textBox1.Text.Substring(0, textBox1.Text.Length - exlen);
            }
            using (ImageChanged image = new ImageChanged(textBox1.Text))
            {
                if (cbx128.Checked)
                {
                    image.SaveIco(textBox2.Text + "128.ico", 128);
                }
                if (cbx64.Checked)
                {
                    image.SaveIco(textBox2.Text + "64.ico", 64);
                }
                if (cbx32.Checked)
                {
                    image.SaveIco(textBox2.Text + "32.ico", 32);
                }
                if (cbx16.Checked)
                {
                    image.SaveIco(textBox2.Text + "16.ico", 16);
                }
            }
        }
예제 #13
0
 public void SetImage(PalasoImage image)
 {
     _previousImage = image;
     if (ImageChanged != null)
     {
         ImageChanged.Invoke(this, null);
     }
 }
예제 #14
0
 public MyImage GetImage()
 {
     if (ans == null)
     {
         ans = GetImageInternal();
         ImageChanged?.Invoke(ans);
     }
     return(ans);
 }
예제 #15
0
 public void SetImage(Bitmap Image)
 {
     if (item != null)
     {
         item.SetImage(Image);
         ImageChanged?.Invoke(this, Image);
         history?.ShowPreview();
     }
 }
예제 #16
0
        private void ImageCropper_MouseUp(object sender, MouseEventArgs e)
        {
            _gripperBeingDragged = null;

            _startOfDrag = default(Point);
            if (ImageChanged != null)
            {
                ImageChanged.Invoke(this, null);
            }
        }
예제 #17
0
 public virtual void RaiseImageChanged()
 {
     try
     {
         ImageChanged?.Invoke(this, System.EventArgs.Empty);
     }
     catch (Exception ex)
     {
     }
 }
예제 #18
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (!Directory.Exists(lblout.Text))
            {
                Directory.CreateDirectory(lblout.Text);
            }

            string[] files = Directory.GetFiles(textBox3.Text);
            string   exf   = "";

            ImageFormat imgfmt = null;

            switch (comboBox1.SelectedIndex)
            {
            case 0:
                exf    = ".jpg";
                imgfmt = ImageFormat.Jpeg;
                break;

            case 1:
                exf    = ".gif";
                imgfmt = ImageFormat.Gif;
                break;

            case 2:
                exf    = ".png";
                imgfmt = ImageFormat.Png;
                break;

            case 3:
                exf    = ".bmp";
                imgfmt = ImageFormat.Bmp;
                break;
            }
            foreach (string f in files)
            {
                try
                {
                    using (ImageChanged image = new ImageChanged(f))
                    {
                        string filename = Path.GetFileNameWithoutExtension(f);

                        string outfile = Path.Combine(lblout.Text, filename + exf);

                        if (checkBox1.Checked)
                        {
                            image.Resize((int)numericUpDown1.Value, (int)numericUpDown2.Value);
                        }
                        image.Save(outfile, imgfmt);
                    }
                }
                catch {
                }
            }
        }
예제 #19
0
 private void OpenFileFromDrag(string path)
 {
     SetMode(Modes.SingleImage);
     _currentImage     = PalasoImage.FromFile(path);
     _pictureBox.Image = _currentImage.Image;
     ImageToolboxSettings.Default.LastImageFolder = Path.GetDirectoryName(path);
     ImageToolboxSettings.Default.Save();
     if (ImageChanged != null)
     {
         ImageChanged.Invoke(this, null);
     }
 }
예제 #20
0
        private void SetImage(_Image image, bool failIfNull = true)
        {
            ImageChanged?.Invoke(image);

            if (image != null)
            {
                OnImageOpened();
            }
            else if (failIfNull)
            {
                OnImageFailed();
            }
        }
예제 #21
0
        private void OnGetFromFileSystemClick(object sender, EventArgs e)
        {
            SetMode(Modes.SingleImage);
#if MONO
            using (var dlg = new OpenFileDialog())
#else
            // The primary thing that OpenFileDialogWithViews buys us is the ability to default to large icons.
            // OpenFileDialogWithViews still doesn't let us read (and thus remember) the selected view.
            using (var dlg = new OpenFileDialogWithViews(OpenFileDialogWithViews.DialogViewTypes.Large_Icons))
#endif
            {
#if __MonoCS__
                // OpenFileDialogWithViews is Windows-only.  Until we need more of its functionality elsewhere,
                // it's much simpler to implement the one method we need here for Mono/Linux.
                SelectLargeIconView(dlg);
#endif
                if (string.IsNullOrEmpty(ImageToolboxSettings.Default.LastImageFolder))
                {
                    dlg.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.MyPictures);
                }
                else
                {
                    dlg.InitialDirectory = ImageToolboxSettings.Default.LastImageFolder;;
                }

                //NB: dissallowed gif because of a .net crash:  http://jira.palaso.org/issues/browse/BL-85
                dlg.Filter = "picture files".Localize("ImageToolbox.PictureFiles", "Shown in the file-picking dialog to describe what kind of files the dialog is filtering for") + "(*.png;*.tif;*.tiff;*.jpg;*.jpeg;*.bmp)|*.png;*.tif;*.tiff;*.jpg;*.jpeg;*.bmp;";

                if (DialogResult.OK == dlg.ShowDialog())
                {
                    ImageToolboxSettings.Default.LastImageFolder = Path.GetDirectoryName(dlg.FileName);
                    ImageToolboxSettings.Default.Save();

                    try
                    {
                        _currentImage = PalasoImage.FromFile(dlg.FileName);
                    }
                    catch (Exception err)                     //for example, http://jira.palaso.org/issues/browse/BL-199
                    {
                        Palaso.Reporting.ErrorReport.NotifyUserOfProblem(err, "Sorry, there was a problem loading that image.".Localize("ImageToolbox.ProblemLoadingImage"));
                        return;
                    }
                    _pictureBox.Image = _currentImage.Image;
                    if (ImageChanged != null)
                    {
                        ImageChanged.Invoke(this, null);
                    }
                }
            }
        }
예제 #22
0
        public void RescaleImage(int width, int height, InterpolationMode mode)
        {
            Bitmap image = new Bitmap(width, height, PixelFormat.Format32bppPArgb);

            using (Graphics g = Graphics.FromImage(image))
            {
                g.InterpolationMode = mode;
                g.DrawImage(_image, 0, 0, width, height);
            }
            PushResizePage(image);
            SetImage(image);
            image.Dispose();
            ImageChanged?.Invoke(this, EventArgs.Empty);
        }
예제 #23
0
        public void ResizeImage(int width, int height)
        {
            Bitmap image = new Bitmap(width, height);

            using (Graphics g = Graphics.FromImage(image))
            {
                g.InterpolationMode = InterpolationMode.NearestNeighbor;
                g.DrawImage(_image, 0, 0);
            }
            PushResizePage(image);
            SetImage(image);
            image.Dispose();
            ImageChanged?.Invoke(this, EventArgs.Empty);
        }
예제 #24
0
        public void PasteInto()
        {
            IDataObject obj = Clipboard.GetDataObject();

            if (obj.GetDataPresent(DataFormats.Bitmap))
            {
                Bitmap img = (Bitmap)obj.GetData("System.Drawing.Bitmap");
                _edit_canvas.DrawImage(img, 0, 0);
                _start_anchor = Point.Empty;
                _end_anchor.X = _image.Width - 1;
                _end_anchor.Y = _image.Height - 1;
                PushHistory();
                ImageChanged?.Invoke(this, EventArgs.Empty);
            }
        }
예제 #25
0
        /// <summary>
        /// 設定を適用する。
        /// </summary>
        /// <param name="model">データモデル</param>
        /// <param name="name">パーツ種別</param>
        /// <param name="partsType">プロパティ名</param>
        private void OnPartsChanged(Character model, PartsType partsType, string propertyName)
        {
            if (propertyName.Equals(nameof(Parts.MaterialName)))
            {
                // 素材自体が変更された。
                // この部品に関係する画像レイヤーを全部削除して追加。
                OnMaterialChanged(model, partsType);
            }
            else
            {
                // この部品に関係する画像レイヤーに設定を適用する。
                OnPartsAttributeChanged(model, partsType, propertyName);
            }

            ImageChanged?.Invoke(this, new EventArgs());
        }
예제 #26
0
 public void Paste()
 {
     if (FixedSize)
     {
         PasteInto();
     }
     else
     {
         IDataObject obj = Clipboard.GetDataObject();
         if (obj.GetDataPresent(DataFormats.Bitmap))
         {
             Bitmap image = (Bitmap)obj.GetData("System.Drawing.Bitmap");
             PushResizePage(image);
             SetImage(image);
             ImageChanged?.Invoke(this, EventArgs.Empty);
         }
     }
 }
예제 #27
0
        public void StartGame()
        {
            errorCount = 0;
            Status     = true;
            string path  = "word_rus.txt";
            var    words = File.ReadAllLines(path).Where(s =>
                                                         s.Length >= 5 && s.Length <= 7);

            word = words.Skip(new Random().Next(0, words.Count() - 1)).
                   First();
            chars = word.Select(s => new Char()).ToArray();
            chars[0].Character = word[0];
            chars[0].Unknown   = false;
            chars[word.Length - 1].Character = word[word.Length - 1];
            chars[word.Length - 1].Unknown   = false;
            WordStatusChanged?.Invoke(this, chars);
            ImageChanged?.Invoke(this, 0);
        }
예제 #28
0
        private async Task AnimatedSetThumbnailSource(BitmapImage image, bool hideBackground = true)
        {
            if (EnableAnimation)
            {
                await FadeOut.BeginAsync();
            }

            Thumbnail.Source = image;
            if (EnableAnimation)
            {
                await FadeIn.BeginAsync();
            }
            if (hideBackground)
            {
                Background = null;
            }
            ImageChanged?.Invoke(this, new MediaThumbnailImageChangedEventArgs {
                IsDefaultImage = !hideBackground
            });
        }
예제 #29
0
        public void JumpToFrame(int frameIndex)
        {
            if (ImageCount == 0)
            {
                return;
            }
            if (frameIndex >= 0 && frameIndex < ImageCount)
            {
                if (ShowImage == null || ShowImage.Width != Image.Width || ShowImage.Height != Image.Height)
                {
                    ShowImage?.Dispose();
                    ShowImage = new Bitmap(Image.Width, Image.Height);
                }

                FrameDimension fd = Image.GifFrameDimension();
                Image.SelectActiveFrame(fd, frameIndex);
                ShowImage.Graphics().DrawImage(Image, 0, 0, Image.Width, Image.Height);
                ImageChanged?.Invoke(this, ShowImage);
            }
        }
예제 #30
0
        private void refresh()
        {
            bool oldHistory = doHistory;

            doHistory = false;
            name.DataBindings.Clear();
            name.DataBindings.Add("Text", cls, "Name", true, DataSourceUpdateMode.OnPropertyChanged);
            flavour.DataBindings.Clear();
            NewlineFormatter.Add(flavour.DataBindings, "Text", cls, "Flavour", true, DataSourceUpdateMode.OnPropertyChanged);
            source.DataBindings.Clear();
            source.DataBindings.Add("Text", cls, "Source", true, DataSourceUpdateMode.OnPropertyChanged);
            description.DataBindings.Clear();
            NewlineFormatter.Add(description.DataBindings, "Text", cls, "Description", true, DataSourceUpdateMode.OnPropertyChanged);
            HD.DataBindings.Clear();
            HD.DataBindings.Add("Value", cls, "HitDie", true, DataSourceUpdateMode.OnPropertyChanged);
            HDCount.DataBindings.Clear();
            HDCount.DataBindings.Add("Value", cls, "HitDieCount", true, DataSourceUpdateMode.OnPropertyChanged);
            HDAverage.DataBindings.Clear();
            HDAverage.DataBindings.Add("Value", cls, "AverageHPPerLevel", true, DataSourceUpdateMode.OnPropertyChanged);
            HDFirst.DataBindings.Clear();
            HDFirst.DataBindings.Add("Value", cls, "HPFirstLevel", true, DataSourceUpdateMode.OnPropertyChanged);
            MulticlassCond.DataBindings.Clear();
            MulticlassCond.DataBindings.Add("Text", cls, "MulticlassingCondition", true, DataSourceUpdateMode.OnPropertyChanged);
            Prestige.DataBindings.Clear();
            Prestige.DataBindings.Add("Checked", cls, "AvailableAtFirstLevel", true, DataSourceUpdateMode.OnPropertyChanged);
            features1.features          = cls.Features;
            featuresFirstClass.features = cls.FirstClassFeatures;
            featuresMultiClass.features = cls.MulticlassingFeatures;
            classFeats.Items            = cls.FeaturesToAddClassKeywordTo;
            classSpells.Items           = cls.SpellsToAddClassKeywordTo;
            ImageChanged?.Invoke(this, cls.GetImage());
            decriptions1.descriptions = cls.Descriptions;
            preview.Navigate("about:blank");
            preview.Document.OpenNew(true);
            preview.Document.Write(cls.ToHTML());
            preview.Refresh();
            source.AutoCompleteCustomSource.Clear();
            source.AutoCompleteCustomSource.AddRange(SourceManager.Sources.ToArray());
            onChange();
            doHistory = oldHistory;
        }