public static string DrawImage(string WorkDirectory, string oldImage, string WaterMarkImage, string waterMarkText, int XCoord, int YCoord, string NewImageName)
{
MemoryStream msNew = new MemoryStream();
MemoryStream msOut = new MemoryStream();
Bitmap bmp = new Bitmap(WorkDirectory + "\\" + oldImage);
Bitmap bmpWm = new Bitmap(WorkDirectory + "\\" + WaterMarkImage);
Bitmap bmpTemp = new Bitmap(bmp);
Graphics canvas = Graphics.FromImage(bmpTemp);
bmp.Dispose();
try
{
using (Graphics gr = Graphics.FromImage(bmpTemp))
{
gr.DrawImage(bmpWm, new Rectangle(XCoord, YCoord, bmpWm.Width, bmpWm.Height), 0, 0, bmpWm.Width, bmpWm.Height, GraphicsUnit.Pixel);
}
}
catch(Exception ex)
{
string errorMessage = "Error occurred during submission.";
return errorMessage;
}
bmpTemp.Save(WorkDirectory + "\\" + NewImageName, ImageFormat.Png);
bmpTemp.Dispose();
return WorkDirectory + "\\" + NewImageName;
}
嗨,这个代码在本地服务器上工作正常,当把这个代码放在实时服务器上时,我得到错误“GDI +中发生了一般错误”。 那怎么能解决这个错误。
答案 0 :(得分:0)
由于缺少权限,这个错误总是会出现。事实上,它在一个环境中工作而不是另一个环境,这几乎证实了这种情况。执行ASP.NET进程的用户帐户需要对尝试保存映像的位置具有写权限。
您授予此权限的帐户取决于您使用的IIS版本。对于IIS 6和7,它是NETWORK SERVICE。从IIS 7.5开始,它是IIS APPPOOL \。您应该与管理托管服务器的人进行核对。