Ejemplo n.º 1
0
        public void AddOrUpdateCharSet(CharSet Set)
        {
            var existingSet = charSets.Where(cs => cs.Set.Id == Set.Id).FirstOrDefault();

            if (existingSet != null)
            {
                existingSet.Set = Set.Clone();
                GenerateImage(existingSet);
                helperTip.SetToolTip(existingSet.ImageView, $"{existingSet.Set.SetType} {existingSet.Set.Name}\r\nSort order {existingSet.Set.Sort}\r\nRight click for more options");
            }
            else
            {
                var newSet = new ListedCharSet
                {
                    Set       = Set.Clone(),
                    ImageView = new PixelPerfectPictureBox()
                };

                newSet.ImageView.Size         = new Size(ItemSize, ItemSize);
                newSet.ImageView.DoubleClick += ImageView_DoubleClick;
                newSet.ImageView.MouseClick  += ImageView_MouseClick;
                newSet.ImageView.MouseMove   += ImageView_MouseMove;

                GenerateImage(newSet);
                charSets.Add(newSet);
                viewPanel.Controls.Add(newSet.ImageView);
                helperTip.SetToolTip(newSet.ImageView, $"{newSet.Set.SetType} {newSet.Set.Name}\r\nSort order {newSet.Set.Sort}\r\nRight click for more options");
            }
        }
Ejemplo n.º 2
0
        private void GenerateImage(ListedCharSet Set)
        {
            /*
             * Bitmap unscaledBitmap = new Bitmap(Set.Set.Width * 8, Set.Set.Height * 8, System.Drawing.Imaging.PixelFormat.Format32bppArgb);
             *
             * Graphics g = Graphics.FromImage(unscaledBitmap);
             * g.Clear(Color.Blue);
             * g.Dispose();
             *
             * for (int index = 0; index < Set.Set.Data.Length; index++)
             * {
             *  byte[] data = Set.Set.Data[index];
             *  Point charOffset = GetCharCoordinates(index, Set.Set);
             *
             *  for (int y = 0; y < 8; y++)
             *  {
             *      for (int x = 0; x < 8; x++)
             *      {
             *          if ((data[y] & (128 >> x)) != 0)
             *              unscaledBitmap.SetPixel(x + charOffset.X, y + charOffset.Y, Color.Black);
             *          else
             *              unscaledBitmap.SetPixel(x + charOffset.X, y + charOffset.Y, Color.White);
             *      }
             *  }
             * }
             */

            if (Set.Image != null)
            {
                Set.Image.Dispose();
            }

            Set.Image               = Set.Set.GenerateImage();
            Set.ImageView.Image     = Set.Image;
            Set.ImageView.SizeMode  = PictureBoxSizeMode.Zoom;
            Set.ImageView.BackColor = Color.White;
        }