lyrebird
شنبه 26 فروردین 1391, 13:37 عصر
سلام
من برای نوشتن متن روی عکس از کد زیر استفاده می کنم:
Bitmap bitMapImage = new System.Drawing.Bitmap(Server.MapPath("42-33354795.jpg"));
Graphics graphicImage = Graphics.FromImage(bitMapImage);
//Smooth graphics is nice.
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
//I am drawing a oval around my text.
graphicImage.DrawArc(new Pen(Color.Red, 3), 90, 235, 150, 50, 0, 360);
//Write your text.
graphicImage.DrawString("سلام", new Font("Tahoma", 12, FontStyle.Bold), SystemBrushes.WindowText, new Point(100, 210));
//Set the content type
Response.ContentType = "image/jpeg";
//Save the new image to the response output stream.
bitMapImage.Save(Response.OutputStream, ImageFormat.Jpeg);
و بدون مشکل انجام میشه. وقتی نام فونت رو تغییر میدم، فقط فونت هایی که به صورت پیش فرض در ویندوز نصب می شن رو پشتیبانی می کنه، و فونت هایی مثل zar، nazanin و ... رو پشتیبانی نمی کنه. این معنیش اینه که فونت ها روی سرور نصب نیستند.
راه حلی برای این مشکل وجود داره؟
من برای نوشتن متن روی عکس از کد زیر استفاده می کنم:
Bitmap bitMapImage = new System.Drawing.Bitmap(Server.MapPath("42-33354795.jpg"));
Graphics graphicImage = Graphics.FromImage(bitMapImage);
//Smooth graphics is nice.
graphicImage.SmoothingMode = SmoothingMode.AntiAlias;
//I am drawing a oval around my text.
graphicImage.DrawArc(new Pen(Color.Red, 3), 90, 235, 150, 50, 0, 360);
//Write your text.
graphicImage.DrawString("سلام", new Font("Tahoma", 12, FontStyle.Bold), SystemBrushes.WindowText, new Point(100, 210));
//Set the content type
Response.ContentType = "image/jpeg";
//Save the new image to the response output stream.
bitMapImage.Save(Response.OutputStream, ImageFormat.Jpeg);
و بدون مشکل انجام میشه. وقتی نام فونت رو تغییر میدم، فقط فونت هایی که به صورت پیش فرض در ویندوز نصب می شن رو پشتیبانی می کنه، و فونت هایی مثل zar، nazanin و ... رو پشتیبانی نمی کنه. این معنیش اینه که فونت ها روی سرور نصب نیستند.
راه حلی برای این مشکل وجود داره؟