using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; namespace TemuKJD.ToolForms { public partial class ShowImgForm : LRBaseForm { string currentImgUrl = null; Dictionary imgDic = new Dictionary(); public ShowImgForm(string picUrl, Dictionary picDic = null) { InitializeComponent(); currentImgUrl = picUrl; if (picDic != null) imgDic = picDic; if (!string.IsNullOrEmpty(currentImgUrl)) { this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http"); } } public ShowImgForm(Image img) { InitializeComponent(); if (img != null) { this.pictureBox1.Image = img; } } private void btnClose_Click(object sender, EventArgs e) { this.Close(); } private void ShowImgForm_KeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { //case Keys.A: MessageBox.Show("您按下的是A"); break; //case Keys.B: MessageBox.Show("您按下的是B"); break; case Keys.Enter: break; case Keys.Escape: this.Close(); break; case Keys.Space: if (imgDic != null && imgDic.Keys.Count > 0) { for (int i = 0; i < imgDic.Keys.ToList().Count; i++) { if (imgDic.Keys.ToList()[i] == currentImgUrl) { int index = i + 1; if (index == imgDic.Keys.Count) index = 0; currentImgUrl = imgDic.Keys.ToList()[index]; this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http"); break; } if (imgDic[imgDic.Keys.ToList()[i]] == currentImgUrl) { int index = i + 1; if (index == imgDic.Keys.Count) index = 0; currentImgUrl = imgDic[imgDic.Keys.ToList()[index]]; this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http"); break; } } } break; } } private void btnCopyUrl_Click(object sender, EventArgs e) { try { Clipboard.SetText(currentImgUrl); // 设置剪贴板内容 BaseMsgForm.ShowInfo("图片地址已复制到剪贴板"); } catch (Exception ex) { BaseMsgForm.ShowError("复制图片地址到剪贴板失败: " + ex.Message); } } private void btnCopy_Click(object sender, EventArgs e) { try { Clipboard.SetImage(this.pictureBox1.Image); // 设置剪贴板内容 BaseMsgForm.ShowInfo("图片已复制到剪贴板"); } catch (Exception ex) { BaseMsgForm.ShowError("复制图片到剪贴板失败: " + ex.Message); } } private void btnSave_Click(object sender, EventArgs e) { if(this.pictureBox1.Image == null) { BaseMsgForm.ShowError("图片为空!"); return; } string fileName = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".jpg"; if (!string.IsNullOrEmpty(this.pictureBox1.ImageLocation)) { fileName = this.pictureBox1.ImageLocation.Replace("://",".").Replace('/', '.'); } SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "JPeg Image|*.jpg;*.jpeg"; sfd.Title = "保存图片"; sfd.FileName = fileName; if (sfd.ShowDialog() == DialogResult.OK) { try { pictureBox1.Image.Save(sfd.FileName, System.Drawing.Imaging.ImageFormat.Jpeg); } catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); } } } private void pictureBox1_Click(object sender, EventArgs e) { if (imgDic != null && imgDic.Keys.Count > 0) { for (int i = 0; i < imgDic.Keys.ToList().Count; i++) { if (imgDic.Keys.ToList()[i] == currentImgUrl) { int index = i + 1; if (index == imgDic.Keys.Count) index = 0; currentImgUrl = imgDic.Keys.ToList()[index]; this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http"); break; } if (imgDic[imgDic.Keys.ToList()[i]] == currentImgUrl) { int index = i + 1; if (index == imgDic.Keys.Count) index = 0; currentImgUrl = imgDic[imgDic.Keys.ToList()[index]]; this.pictureBox1.ImageLocation = currentImgUrl.Replace("https", "http"); break; } } } } private void ShowImgForm_Load(object sender, EventArgs e) { label1.Visible = this.imgDic != null && this.imgDic.Keys.Count > 0; } } }