Beispiel #1
0
        private void ShowSmallImages()
        {
            string[] pictures = ImageTool.GetAllImagePath(MainConfig.ShowFolderPath);

            int pictureCount = pictures.Length;

            int padding     = 2;
            int columnCount = MainConfig.PanelMainSize.Width / MainConfig.ImageSize.Width;
            int rowCount    = (pictureCount % columnCount == 0) ?
                              pictureCount / columnCount :
                              (pictureCount / columnCount) + 1;

            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    int        index      = row * columnCount + column; // 图片下标
                    PictureBox pictureBox = new PictureBox();
                    pictureBox.SizeMode = PictureBoxSizeMode.Zoom;
                    pictureBox.Size     = MainConfig.ImageSize;
                    if (index >= pictureCount)
                    {
                        return;
                    }

                    //pictureBox.Load(pictures[index]);
                    //pictureBox.Image = Image.FromFile(pictures[index]);
                    //FileStream fs = new FileStream(pictures[index], FileMode.Open);
                    //Bitmap bm = new Bitmap(fs);
                    //fs.Dispose();
                    //pictureBox.Image = bm;

                    //pictureBox.Image = ImageTool.GetImage(pictures[index]);
                    pictureBox.Image = ImageTool.GetThumbnailsImage(pictures[index], MainConfig.ImageSize);
                    pictureBox.Tag   = pictures[index];

                    Point pictureLoction = new Point()
                    {
                        X = pictureBox.Width * column + padding * (column + 1),
                        Y = pictureBox.Height * row + padding * (row + 1)
                    };

                    pictureBox.Location     = pictureLoction;
                    pictureBox.DoubleClick += pictureBox_DoubleClick;
                    pictureBox.MouseDown   += pictureBox_MouseDown;
                    panelMain.Controls.Add(pictureBox);
                }
            }
        }
Beispiel #2
0
        private void ShowSmallImages()
        {
            Size imageSize = new Size(16 * 10, 9 * 10);

            string[] pictures = ImageTool.GetAllImagePath(@"F:\\- Test\\Bing");

            int pictureCount = pictures.Length;

            int padding     = 2;
            int columnCount = panelMain.Width / imageSize.Width;
            int rowCount    = (pictureCount % columnCount == 0) ?
                              pictureCount / columnCount :
                              (pictureCount / columnCount) + 1;

            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    int        index      = row * columnCount + column; // 图片下标
                    PictureBox pictureBox = new PictureBox();
                    pictureBox.SizeMode = PictureBoxSizeMode.Zoom;
                    pictureBox.Size     = imageSize;
                    if (index >= pictureCount)
                    {
                        return;
                    }

                    //pictureBox.Image = ImageTool.LoadImage(pictures[index]);
                    pictureBox.Image = ImageTool.GetThumbnailsImage(pictures[index], imageSize);
                    pictureBox.Tag   = pictures[index];

                    Point pictureLoction = new Point()
                    {
                        X = pictureBox.Width * column + padding * (column + 1),
                        Y = pictureBox.Height * row + padding * (row + 1)
                    };

                    //MessageBox.Show(pictureBox.Tag.ToString());
                    pictureBox.Location = pictureLoction;

                    //Thread t = new Thread(new ParameterizedThreadStart(AddControol));
                    //t.Start();

                    panelMain.Controls.Add(pictureBox);
                    Refresh();
                }
            }
        }
Beispiel #3
0
        private void ShowSmallImages()
        {
            string[] pictures = ImageTool.GetAllImagePath(MainConfig.ShowFolderPath);

            int pictureCount = pictures.Length;

            int padding     = 2;
            int columnCount = splitContainer1.Panel1.Width / MainConfig.ImageSize.Width;
            int rowCount    = (pictureCount % columnCount == 0) ?
                              pictureCount / columnCount :
                              (pictureCount / columnCount) + 1;

            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    int        index      = row * columnCount + column;
                    PictureBox pictureBox = new PictureBox();
                    pictureBox.SizeMode = PictureBoxSizeMode.Zoom;
                    pictureBox.Size     = MainConfig.ImageSize;
                    if (index >= pictureCount)
                    {
                        return;
                    }

                    //pictureBox.Image = Image.FromFile(pictures[pictureIndex]);
                    //pictureBox.Load(pictures[index]);

                    //pictureBox.Image = ImageTool.GetImage(pictures[index]);
                    pictureBox.Image = ImageTool.GetThumbnailsImage(pictures[index], MainConfig.ImageSize);
                    pictureBox.Tag   = pictures[index];

                    Point pictureLoction = new Point()
                    {
                        X = padding * (column + 1) + pictureBox.Width * column,
                        Y = padding * (row + 1) + pictureBox.Height * row
                    };
                    pictureBox.Location     = pictureLoction;
                    pictureBox.Click       += pictureBox_Click;
                    pictureBox.DoubleClick += pictureBox_DoubleClick;
                    panelSmallImages.Controls.Add(pictureBox);
                }
            }
            pictureBoxLarge.Load(pictures[0]);
            ShowImageInfo(Path.GetFullPath(pictures[0]));
        }
Beispiel #4
0
        private void CreateListView()
        {
            string[] pictures = ImageTool.GetAllImagePath(MainConfig.ShowFolderPath);

            listView      = new System.Windows.Forms.ListView();
            listView.Dock = DockStyle.Fill;

            //listView1.LabelEdit = true;
            listView.View = View.Details;
            listView.AllowColumnReorder = true;
            listView.CheckBoxes         = true;
            listView.FullRowSelect      = true;
            listView.GridLines          = true;

            // Width of -2 indicates auto-size.
            listView.Columns.Add("序号", -2, HorizontalAlignment.Left);
            listView.Columns.Add("文件名", 100, HorizontalAlignment.Left);
            listView.Columns.Add("分辨率", -2, HorizontalAlignment.Center);
            listView.Columns.Add("大小", -2, HorizontalAlignment.Center);
            listView.Columns.Add("文件路径", -2, HorizontalAlignment.Left);

            listView.Items.Clear();
            // Create three items and three sets of subitems for each item.

            for (int i = 0; i < pictures.Length; i++)
            {
                ListViewItem  item      = new ListViewItem((i + 1).ToString());
                ImageListInfo imageInfo = GetImageInfo(Path.GetFullPath(pictures[i]));
                item.SubItems.Add(imageInfo.FileName);
                item.SubItems.Add(imageInfo.ImageSize.Width.ToString() + " x " + imageInfo.ImageSize.Height.ToString());
                item.SubItems.Add(imageInfo.FileSize.ToString());
                item.SubItems.Add(imageInfo.FillFullName);
                listView.Items.Add(item);
            }

            listView.ColumnClick          += new ColumnClickEventHandler(ListView_ColumnClick);
            listView.ItemSelectionChanged += new ListViewItemSelectionChangedEventHandler(listView_ItemSelectionChanged);
            listView.ItemChecked          += new ItemCheckedEventHandler(listView_ItemChecked);

            panelListView.Controls.Add(listView);

            // listview根据列名自动调整列宽
            //listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);

            listView.ListViewItemSorter = imageListViewSort;
        }
Beispiel #5
0
        private void LoadSmallImages(string path, Size panelSize, Size imageSize)
        {
            string[] pictures = ImageTool.GetAllImagePath(path);

            int pictureCount = pictures.Length;

            int padding     = 2;
            int columnCount = panelSize.Width / imageSize.Width;
            int rowCount    = (pictureCount % columnCount == 0) ?
                              pictureCount / columnCount :
                              (pictureCount / columnCount) + 1;

            for (int row = 0; row < rowCount; row++)
            {
                for (int column = 0; column < columnCount; column++)
                {
                    int        index      = row * columnCount + column; // 图片下标
                    PictureBox pictureBox = new PictureBox();
                    pictureBox.SizeMode = PictureBoxSizeMode.Zoom;
                    pictureBox.Size     = imageSize;
                    if (index >= pictureCount)
                    {
                        return;
                    }

                    //pictureBox.Image = ImageTool.GetImage(pictures[index]);
                    pictureBox.Image = ImageTool.GetThumbnailsImage(pictures[index], MainConfig.ImageSize);
                    pictureBox.Tag   = pictures[index];

                    Point pictureLoction = new Point()
                    {
                        X = pictureBox.Width * column + padding * (column + 1),
                        Y = pictureBox.Height * row + padding * (row + 1)
                    };

                    pictureBox.Location     = pictureLoction;
                    pictureBox.DoubleClick += pictureBox_DoubleClick;
                    pictureBox.MouseDown   += pictureBox_MouseDown;
                    panelMain.Controls.Add(pictureBox);

                    //Refresh();
                }
            }
        }
Beispiel #6
0
        private void ShowSmallImages()
        {
            string[] pictures = ImageTool.GetAllImagePath(MainConfig.ShowFolderPath);

            int pictureCount = pictures.Length;

            int padding       = 2;
            int pictureHeight = panelSmallImage.Height - 17;
            int pictureWidth  = pictureHeight * 16 / 9;

            for (int index = 0; index < pictureCount; index++)
            {
                PictureBox pictureBox = new PictureBox();
                pictureBox.SizeMode = PictureBoxSizeMode.Zoom;
                pictureBox.Width    = pictureWidth;
                pictureBox.Height   = pictureHeight;

                //pictureBox.Image = Image.FromFile(pictures[index]);
                //pictureBox.Image = ImageTool.GetImage(pictures[index]);
                pictureBox.Image = ImageTool.GetThumbnailsImage(pictures[index], MainConfig.ImageSize);
                pictureBox.Tag   = pictures[index];
                //FileStream fs = new FileStream(pictures[cnt], FileMode.Open);
                //Bitmap bm = new Bitmap(fs);
                //fs.Dispose();
                //pictureBox.Image = bm;

                Point pictureLoction = new Point()
                {
                    X = padding * (index + 1) + pictureWidth * index,
                    Y = 0
                };
                pictureBox.Location     = pictureLoction;
                pictureBox.Click       += smallPictureBox_Click;
                pictureBox.DoubleClick += pictureBox_DoubleClick;
                panelSmallImage.Controls.Add(pictureBox);
            }
            pictureBoxLarge.Image = Image.FromFile(pictures[0]);
        }
Beispiel #7
0
 public void GetParentFile()
 {
     parentFilePath = ImageTool.GetAllImagePath(Path.GetDirectoryName(imgPath)).ToList();
 }