急!怎么获取richtextbox中的多张图片,并保存(winform)

yuquan1987 2010-04-19 05:06:42
各位大哥,我先在需要实现一个功能;我先描述哈;第一:现在我有一个richtextbox 我直接用qq的ctrl+alt+a截图,然后再ctrl+v到richtextbox中,(我可能会截取多个图到richtextbox中),然后就是要实现将 richtextbox中的多个图保存到我的一个路径中。第二:还是就这个richtextbox,我不是截图,我直接是拖动一张或者多张图到richtextbox中,然后保存。请各位大侠指教小弟。我将感激不尽!来着有分!回答者加分。能解决问题者大大的分!
...全文
2062 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
初吻给了烟 2010-11-20
  • 打赏
  • 举报
回复
555555
yuquan1987 2010-04-21
  • 打赏
  • 举报
回复
我在timer控件中加了
private void timer1_Tick(object sender, EventArgs e)
{
try
{
while (Clipboard.GetImage().Height != 0)
{
this.richTextBox1.Paste();
Clipboard.Clear();
}
}
catch
{ }
}
这个代码。感觉也不错的哦,这样 你可以直接截图 ,然后就自动显示到richtextbox中了。
yuquan1987 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 xingyuebuyu 的回复:]
C# code
private void Form1_Load(object sender, EventArgs e)
{
richTextBox1.EnableAutoDragDrop = true;
richTextBox1.DragEnter+=new DragEventHandler(richTextB……
[/Quote]
高手挺多的。呵呵,谢谢各位大侠的光临,指导。我计划在晚上就结贴。要分的快来踩一哈。呵呵
whowhen21 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xingyuebuyu 的回复:]
一个图片在richtextbox中会使TextLength增加1.
所以你的richtextbox中如果全是图片那TextLength为多少就有几个图片,如果不全是就进行如下判断


C# code
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0……
[/Quote]
蛮不错的哦~
shiweijian1986 2010-04-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ly302 的回复:]
C# code
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog myDlg = new SaveFileDialog();
myDlg.Title = "另存为";
myDlg.OverwritePromp……
[/Quote]
switch 可以改用delegate委托实现
xingyuebuyu 2010-04-20
  • 打赏
  • 举报
回复
一个图片在richtextbox中会使TextLength增加1.
所以你的richtextbox中如果全是图片那TextLength为多少就有几个图片,如果不全是就进行如下判断

  private void button3_Click(object sender, EventArgs e)
{
for (int i = 0; i < richTextBox1.TextLength; i++)
{
richTextBox1.Select(i, 1);
RichTextBoxSelectionTypes rt = richTextBox1.SelectionType;
MessageBox.Show(rt.ToString());
if (rt == RichTextBoxSelectionTypes.Object)
{
//当然也可能是其它的类型
MessageBox.Show("这是一个图片");
richTextBox1.Copy();
Image img = Clipboard.GetImage();
if (img != null)
{
img.Save("e:\\" + i.ToString() + ".bmp");
img.Dispose();
}
}
}
}
xingyuebuyu 2010-04-20
  • 打赏
  • 举报
回复
        private void Form1_Load(object sender, EventArgs e)
{
richTextBox1.EnableAutoDragDrop = true;
richTextBox1.DragEnter+=new DragEventHandler(richTextBox1_DragEnter);
richTextBox1.DragDrop+=new DragEventHandler(richTextBox1_DragDrop);
}

void richTextBox1_DragDrop(object sender, DragEventArgs e)
{
string[] ar= ((string[])e.Data.GetData(DataFormats.FileDrop));
if (ar == null || ar.Length == 0)
return;

for (int i = 0; i < ar.Length; i++)
{
Clipboard.Clear();
Image img= Image.FromFile(ar[i]);
Clipboard.SetImage(img);

richTextBox1.Select(richTextBox1.TextLength, 0);
richTextBox1.Paste();
}
}
幻想多巴胺 2010-04-20
  • 打赏
  • 举报
回复
yuquan1987 2010-04-20
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 xingyuebuyu 的回复:]
一个图片在richtextbox中会使TextLength增加1.
所以你的richtextbox中如果全是图片那TextLength为多少就有几个图片,如果不全是就进行如下判断


C# code
private void button3_Click(object sender, EventArgs e)
{
for (int i = 0……
[/Quote] 这位大侠的方法还是可以的。基本上解决了我的第一个问题
yuquan1987 2010-04-19
  • 打赏
  • 举报
回复
自己一定要顶起来!!!
yaodan11333 2010-04-19
  • 打赏
  • 举报
回复
一起过来学习~
yuquan1987 2010-04-19
  • 打赏
  • 举报
回复
多些各位来顶。更希望能指导小弟解决这个问题
jlj84237485 2010-04-19
  • 打赏
  • 举报
回复
顶一下
zsuswy 2010-04-19
  • 打赏
  • 举报
回复
第一个问题我随便回答的,随便说说,不一定好使。
看看其他人有没有什么好方法。
yuquan1987 2010-04-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yutian_31 的回复:]
你遍历richtext保存
[/Quote]

还请这位大哥能详细说说。
zsuswy 2010-04-19
  • 打赏
  • 举报
回复
第一个问题思路:
----------------------------------
用代码调整光标到图片的位置,然后设置selection把图片选择住,然后copy到剪贴板保存
zsuswy 2010-04-19
  • 打赏
  • 举报
回复
第二:还是就这个richtextbox,我不是截图,我直接是拖动一张或者多张图到richtextbox中,然后保存。
-------------------------------
DragDrop事件中可以取得
private void Form1_DragDrop(object sender, DragEventArgs e)
{
e.Data ........
}
yuquan1987 2010-04-19
  • 打赏
  • 举报
回复
关键是我的richtextbox中有多张图片 我用什么作为分割,知道有多少张呢?
皇城龙三 2010-04-19
  • 打赏
  • 举报
回复
如果是winform的话,richtextbox控件有一个成员方法:DrawToBitmap

可以把导出来的图片存起来
皇城龙三 2010-04-19
  • 打赏
  • 举报
回复
private void button2_Click(object sender, EventArgs e)
{
SaveFileDialog myDlg = new SaveFileDialog();
myDlg.Title = "另存为";
myDlg.OverwritePrompt = true;
myDlg.Filter = "BMP文件 (*.bmp) | *.bmp|" +
"Gif文件 (*.gif) | *.gif|" +
"JPEG文件 (*.jpg) | *.jpg|" +
"PNG文件 (*.png) | *.png";
myDlg.ShowHelp = true;

if (myDlg.ShowDialog() == DialogResult.OK)
{
string fileName = myDlg.FileName;
string strfileEx = fileName.Remove(0, fileName.Length - 3);
switch (strfileEx)
{
case "bmp":
curBitmap.Save(fileName, ImageFormat.Bmp);
break;

case "jpg":
curBitmap.Save(fileName, ImageFormat.Jpeg);
break;

case "gif":
curBitmap.Save(fileName, ImageFormat.Gif);
break;

case "tif":
curBitmap.Save(fileName, ImageFormat.Tiff);
break;

case "png":
curBitmap.Save(fileName, ImageFormat.Png);
break;

default:
break;
}
}

}
加载更多回复(1)
内容概要:本文围绕“非线性流量的数据驱动Koopman模型预测控制研究”展开,提出一种基于数据驱动的Koopman算子理论方法,用于构建非线性系统的线性化状态空间模型,并结合模型预测控制(MPC)实现对复杂非线性系统的高效控制。研究通过引入扩展动态模态分解(EDMD)等观测函数,将非线性动力学映射至高维特征空间,在该空间实现近似线性化表征,进而融合线性MPC框架进行优化求解。全文系统阐述了Koopman算子的数学基础、隐式线性化机制及在非线性流量控制的建模流程,并通过Matlab代码完成了算法实现与仿真实验,验证了该方法在处理无精确物理模型、强非线性、时变动态系统的有效性与鲁棒性,尤其适用于工业流程控制、能源系统调度等实际工程场景。; 适合人群:具备自动控制理论、非线性系统分析基础,熟悉Matlab编程,从事控制工程、系统辨识、智能优化、能源系统建模等方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于难以建立精确数学模型的复杂非线性系统(如流体动力系统、电力电子系统、机器人动力学等)的建模与实时控制;②实现数据驱动下的模型预测控制,提升系统响应速度与控制精度;③为先进控制策略(如MPC)提供一种可行的线性化建模范式,推动现代控制理论与数据科学、机器学习的深度融合。; 阅读建议:建议读者结合提供的Matlab代码深入理解Koopman方法的具体实现过程,重点关注观测函数构造、核函数选择、矩阵逼近、降维处理及MPC控制器设计等关键技术环节,并尝试将其迁移至其他非线性系统进行复现实验与性能对比,以全面掌握其适用范围与局限性。
内容概要:本文详细介绍了一种基于Simulink的光伏储能单相逆变器并网仿真模型,系统涵盖了光伏阵列、储能单元、DC-AC单相逆变器及并网接口的完整结构,重点实现了储能环节的能量管理与逆变器并网控制策略的建模仿真。通过Simulink平台构建系统模型,验证了逆变器输出电能质量、并网稳定性以及控制系统的动态响应性能,采用SPWM调制、PI闭环控制等关键技术,确保并网电流与电网电压同频同相,满足并网电能质量要求。该模型不仅可用于分布式能源系统的仿真研究,还可作为新能源并网技术的教学与工程实践工具。; 适合人群:电气工程、自动化、新能源科学与工程等相关专业的高校本科生、研究生、科研人员,以及从事光伏发电系统设计、储能控制与并网技术研发的工程技术人员。; 使用场景及目标:①深入理解光伏储能系统能量转换、存储与并网控制的整体工作原理;②支持课程设计、毕业设计或科研项目对单相逆变器控制策略(如SPWM、PI调节、锁相技术等)的仿真验证与参数优化;③为后续研究更复杂的控制算法(如MPPT、低电压穿越、谐波抑制等)提供可扩展的仿真基础平台。; 阅读建议:建议结合MATLAB/Simulink环境动手搭建与调试模型,逐步理解各模块(如光伏建模、储能充放电控制、逆变器驱动、锁相环、PI调节器等)的功能与交互关系,重点关注控制系统的设计逻辑与参数整定过程,并可通过修改负载条件或电网参数测试系统鲁棒性,为进一步拓展至三相系统或多机并网场景奠定基础。

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧