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; }
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); } } }
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(); } } }
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])); }
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(); } } }
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]); }
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); } } }