日期:2014-05-18  浏览次数:20409 次

求 把图片+文字生成 图片的代码
在一个容器里面,也就有一块区域
然后用户可以在这个区域里面   输入文字,然后可以用鼠标或上下键   进行投放,想放那个地方,就放哪个地方(文字就比如:先写下标题,投放到标题的位置,再写入其他信息,放到想对应的地方),图片也是如此...

      我的邮箱x_longfeng@163.com

------解决方案--------------------
用图层,js脚本语言控制。
------解决方案--------------------
下面是一个添加水印文字的: 看对你有帮助不

/// <summary>
/// 加水印文字
/// </summary>
/// <param name= "picture "> imge 对象 </param>
/// <param name= "_watermarkText "> 水印文字内容 </param>
/// <param name= "_watermarkPosition "> 水印位置 </param>
/// <param name= "_width "> 被加水印图片的宽 </param>
/// <param name= "_height "> 被加水印图片的高 </param>
private void addWatermarkText(Graphics picture, string _watermarkText, string _watermarkPosition, int _width, int _height)
{
int[] sizes = new int[] { 16, 14, 12, 10, 8, 6, 4 };
Font crFont = null;
SizeF crSize = new SizeF();
for (int i = 0; i < 7; i++)
{
crFont = new Font( "arial ", sizes[i], FontStyle.Bold);
crSize = picture.MeasureString(_watermarkText, crFont);

if ((ushort)crSize.Width < (ushort)_width)
break;
}

float xpos = 0;
float ypos = 0;

switch (_watermarkPosition)
{
case "WM_TOP_LEFT ":
xpos = ((float)_width * (float).01) + (crSize.Width / 2);
ypos = (float)_height * (float).01;
break;
case "WM_TOP_RIGHT ":
xpos = ((float)_width * (float).99) - (crSize.Width / 2);
ypos = (float)_height * (float).01;
break;
case "WM_BOTTOM_RIGHT ":
xpos = ((float)_width * (float).99) - (crSize.Width / 2);
ypos = ((float)_height * (float).99) - crSize.Height;
break;
case "WM_BOTTOM_LEFT ":
xpos = ((float)_width * (float).01) + (crSize.Width / 2);
ypos = ((float)_height * (float).99) - crSize.Height;
break;
}

StringFormat StrFormat = new StringFormat();
StrFormat.Alignment = StringAlignment.Center;

SolidBrush semiTransBrush2 = new SolidBrush(Color.FromArgb(153, 0, 0, 0));
picture.DrawString(_watermarkText, crFont, semiTransBrush2, xpos + 1, ypos + 1, StrFormat);

SolidBrush semiTransBrush = new SolidBrush(Color.FromArgb(153, 255, 255, 255));
picture.DrawString(_watermarkText, crFont, semiTransBrush, xpos, ypos, StrFormat);


semiTransBrush2.Dispose();
semiTransBrush.Dispose();


}
------解决方案--------------------
<%@ Page language= "C# " %>
<%@ Import Namespace= "System.Web " %>
<%@ Import Namespace= "System.Drawing " %>
<%@ Import Namespace= "System.Drawing.Imaging " %>


<script runat= "server " language= "C# ">

public static bool ChkCH(char c)
{
stri