怎么把一个richtextbox里面的文本保存为图片?ps:richtextbox的scrollbars属性设置为forcedboth,怎么横向的滚动条不出现??

解决方案 »

  1.   


    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    Clipboard.SetImage(Image.FromFile(openFileDialog1.FileName));
                    richTextBox1.Paste();
                }
      

  2.   

    richtextbox的scrollbars属性设置为forcedboth,怎么横向的滚动条不出现??
    把WordWarp设置成false
      

  3.   

    谢谢
    那么,怎么把一个richtextbox里面的文本保存为图片?
      

  4.   

    怎么把一个richtextbox里面的文本保存为图片?
    ===================================
    两种方式:
        1.用GDI+去绘制richtextbox里面的文字,然后保存成图片。
        2.copy屏幕,然后按richtextbox的位置和宽度把图片剪裁。
      

  5.   

    第一个简单些?
    GDI+...没学过...
      

  6.   

    加上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("保存图片结束!"); 
                
            }
      

  7.   

    呵呵.UP.
     刚出去了,所以..嘿嘿
     没办法,只有用GDI+绘制
      因为是图片.