怎么把一个richtextbox里面的文本保存为图片? 怎么把一个richtextbox里面的文本保存为图片?ps:richtextbox的scrollbars属性设置为forcedboth,怎么横向的滚动条不出现?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if (openFileDialog1.ShowDialog() == DialogResult.OK) { Clipboard.SetImage(Image.FromFile(openFileDialog1.FileName)); richTextBox1.Paste(); } richtextbox的scrollbars属性设置为forcedboth,怎么横向的滚动条不出现??把WordWarp设置成false 谢谢那么,怎么把一个richtextbox里面的文本保存为图片? 怎么把一个richtextbox里面的文本保存为图片?===================================两种方式: 1.用GDI+去绘制richtextbox里面的文字,然后保存成图片。 2.copy屏幕,然后按richtextbox的位置和宽度把图片剪裁。 第一个简单些?GDI+...没学过... 加上using System.Drawing.Imaging;类中加入 [System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")] private static extern bool BitBlt(IntPtr hdcDest, //目的上下文设备的句柄 int nXDest, //目的图形的左上角的x坐标 int nYDest, //目的图形的左上角的y坐标 int nWidth, //目的图形的矩形宽度 int nHeight, //目的图形的矩形高度 IntPtr hdcSrc, //源上下文设备的句柄 int nXSrc, //源图形的左上角的x坐标 int nYSrc, //源图形的左上角的x坐标 System.Int32 dwRop //光栅操作代码 ); 然后按钮事件private void button2_Click(object sender, EventArgs e) { Graphics g1 = richTextBox1.CreateGraphics();//获得窗体图形对象 Image MyImage = new Bitmap(richTextBox1.Width, richTextBox1.Height, g1); Graphics g2 = Graphics.FromImage(MyImage);//创建位图图形对象 IntPtr dc1 = g1.GetHdc();//获得窗体的上下文设备 IntPtr dc2 = g2.GetHdc();//获得位图文件的上下文设备 BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);//写入到位图 g1.ReleaseHdc(dc1);//释放窗体的上下文设备 g2.ReleaseHdc(dc2);//释放位图文件的上下文设备 MyImage.Save(@"c:\Captured.jpg", ImageFormat.Jpeg);//保存为jpeg文件 MessageBox.Show("保存图片结束!"); } 呵呵.UP. 刚出去了,所以..嘿嘿 没办法,只有用GDI+绘制 因为是图片. webservice发布问题 C# 时间 C# winfrom textbox中文字如何垂直居中 winform datagrid 选定行问题(有图例) c#操作excel--怎样在sheet 里指定行位置插入新行 关于修改文件属性的问题,高人请进 关于WebService与客户端进行交互的问题 怎么才能实现带参构造函数,参数的类型有相同的两个构造函数呢? 请帮我分析一下我的post请求头的构造,是否保持一致。 文本在网页中中显示的转换问题 假如对方电脑上没有SQL server,那么客户机如何连接? SelectedItems[0]问题
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
Clipboard.SetImage(Image.FromFile(openFileDialog1.FileName));
richTextBox1.Paste();
}
把WordWarp设置成false
那么,怎么把一个richtextbox里面的文本保存为图片?
===================================
两种方式:
1.用GDI+去绘制richtextbox里面的文字,然后保存成图片。
2.copy屏幕,然后按richtextbox的位置和宽度把图片剪裁。
GDI+...没学过...
类中加入
[System.Runtime.InteropServices.DllImportAttribute("gdi32.dll")]
private static extern bool BitBlt(IntPtr hdcDest, //目的上下文设备的句柄 int nXDest, //目的图形的左上角的x坐标 int nYDest, //目的图形的左上角的y坐标 int nWidth, //目的图形的矩形宽度 int nHeight, //目的图形的矩形高度 IntPtr hdcSrc, //源上下文设备的句柄 int nXSrc, //源图形的左上角的x坐标 int nYSrc, //源图形的左上角的x坐标 System.Int32 dwRop //光栅操作代码 );
然后按钮事件
private void button2_Click(object sender, EventArgs e)
{
Graphics g1 = richTextBox1.CreateGraphics();//获得窗体图形对象 Image MyImage = new Bitmap(richTextBox1.Width, richTextBox1.Height, g1); Graphics g2 = Graphics.FromImage(MyImage);//创建位图图形对象 IntPtr dc1 = g1.GetHdc();//获得窗体的上下文设备 IntPtr dc2 = g2.GetHdc();//获得位图文件的上下文设备 BitBlt(dc2, 0, 0, this.ClientRectangle.Width, this.ClientRectangle.Height, dc1, 0, 0, 13369376);//写入到位图 g1.ReleaseHdc(dc1);//释放窗体的上下文设备 g2.ReleaseHdc(dc2);//释放位图文件的上下文设备 MyImage.Save(@"c:\Captured.jpg", ImageFormat.Jpeg);//保存为jpeg文件 MessageBox.Show("保存图片结束!");
}
刚出去了,所以..嘿嘿
没办法,只有用GDI+绘制
因为是图片.