我主要目的,做了一个极小的绘图软件,我想实现PhotoShop中的文字变形(只实现规则变形就行了,不用实现文字的扭曲)

解决方案 »

  1.   

    参考
    protected override void OnPaint (System.Windows.Forms.PaintEventArgs e )
      {
      Font font = new Font("黑体",28);///定义字体:黑体,大小:28
      SolidBrush bluepen = new SolidBrush(Color.Blue);///创建蓝色画笔
      SolidBrush blackpen = new SolidBrush(Color.FromARGB(0xa0,0xa0,0xb0));///创建黑色画笔
      e.Graphics.DrawString("理论联系实际",font,blackpen,65,25);///写字符串
      
      ///偏移4个象素用不同的颜色再写一次,达到立体效果
      e.Graphics.DrawString("理论联系实际",font,bluepen,61,21);
      }
      

  2.   

    上面的FromARGB改为FromArgb只要把矩形的长宽值传给DrawString方法就行了
      

  3.   

    如果想在指定的范围内输出指定的字符串的话,因该是通过Graphics.DrawString结合Graphics.MeasureString函数来使用,先通过Graphics.MeasureString算出应该使用的字体大小再使用Graphics.DrawString进行输出.
    关键代码如下:
    Graphics.MeasureString(iOutPutString ,ifont,iTestSizeF,iStringFormat,out iMaxOutCharCount,out iMaxOutLineCount)
    iGraphics.DrawString(iOutPutString ,font,brush,iRectangleF ,iStringFormat);
      

  4.   

    字的变形?方法一:
    其实就是对字符所在图形的操作,例如,先按照标准字体去画,然后对字符所在的矩形区域变形操作。相当于对图片进行后期处理;方法二:
    在画字符之前,用Graphics.ScaleTransform方法修改比例坐标,从而达到变形效果。