Files
KJD_WebService/TEMUKJD/ToolForms/ShowImgForm.cs
T
2025-12-29 19:56:10 +08:00

174 lines
6.1 KiB
C#

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<string, string> imgDic = new Dictionary<string, string>();
public ShowImgForm(string picUrl, Dictionary<string, string> 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;
}
}
}