Пример #1
0
        private void InitPanel(string imgPath)
        {
            int panelInfoHeight = 20;

            panelImage.Size     = new Size(Size.Width, Size.Height - panelInfoHeight);
            panelImage.Location = new Point(0, 0);

            panelInfo.Size     = new Size(Size.Width, panelInfoHeight);
            panelInfo.Location = new Point(0, Size.Height - panelInfoHeight);

            pictureBox.Size     = panelImage.Size;
            pictureBox.Location = new Point(0, 0);
            pictureBox.SizeMode = PictureBoxSizeMode.Zoom;
            //pictureBox.Image = ImageTool.GetImage(imgPath);
            pictureBox.Image        = ImageTool.GetThumbnailsImage(imgPath, MainConfig.ImageSize);
            pictureBox.DoubleClick += pictureBox_DoubleClick;

            label.Size         = panelInfo.Size;
            label.Location     = new Point(0, 0);
            label.Text         = Path.GetFileName(imgPath);
            label.TextAlign    = ContentAlignment.MiddleCenter;
            label.DoubleClick += label_DoubleClick;

            //panelInfo.BackColor = Color.Green;
            //panelImage.BackColor = Color.Red;
        }
Пример #2
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);
                }
            }
        }
Пример #3
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();
                }
            }
        }
Пример #4
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]));
        }
Пример #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();
                }
            }
        }
Пример #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]);
        }
Пример #7
0
        private void CreateSmallImages()
        {
            panelSmallImage.Controls.Clear();
            Size          panelSize = panelSmallImage.Size;
            List <string> imagePath = new List <string>();

            foreach (ListViewItem item in listView.CheckedItems)
            {
                string path = listView.Items[item.Index].SubItems[4].Text;
                imagePath.Add(path);
            }
            if (imagePath.Count == 0)
            {
                return;
            }

            // 遍历删除 control
            //foreach (Control control in panelSmallImages.Controls)
            //{
            //    PictureBox picBox = (PictureBox)control;
            //    string path = Path.GetFullPath(picBox.ImageLocation);
            //    if (imagePath.Contains(path))
            //        return;
            //    else
            //        panelSmallImages.Controls.Remove(control);
            //}

            int columnCount = 3;
            int rowCount    = (imagePath.Count % columnCount == 0) ?
                              imagePath.Count / columnCount :
                              (imagePath.Count / columnCount) + 1;

            int padding       = 2;
            int pictureWidth  = panelSize.Width / columnCount - 2 * padding;
            int pictureHeight = pictureWidth * 9 / 16;

            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.Width    = pictureWidth;
                    pictureBox.Height   = pictureHeight;
                    if (index >= imagePath.Count)
                    {
                        return;
                    }

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

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

                    //pictureBox.Load(imagePath[pictureIndex]);
                    //pictureBox.Image=Image.FromFile(imagePath[pictureIndex]);
                    Point pictureLoction = new Point();
                    pictureLoction.X        = padding * (column + 1) + pictureWidth * column;
                    pictureLoction.Y        = padding * (row + 1) + pictureHeight * row;
                    pictureBox.Location     = pictureLoction;
                    pictureBox.DoubleClick += pictureBox_DoubleClick;
                    panelSmallImage.Controls.Add(pictureBox);
                }
            }
        }