نمایش نتایج 1 تا 9 از 9

نام تاپیک: نوشتن متن روی عکس

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #7
    کاربر دائمی آواتار Alghoochi
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    C:\Windows
    پست
    390

    نقل قول: نوشتن متن روی عکس

    نقل قول نوشته شده توسط lyrebird مشاهده تاپیک
    سلام
    من برای نوشتن متن روی عکس از کد زیر استفاده می کنم:

    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 و ... رو پشتیبانی نمی کنه. این معنیش اینه که فونت ها روی سرور نصب نیستند.
    راه حلی برای این مشکل وجود داره؟
    شما می‌تونی Font ها رو بدون نصب استفاده کنی. فقط باید فونت رو از روی آدرسش لود کنی و کار حله.

    واسه این‌کار باید این فضای‌های نام رو به برنامه‌ات اضافه کنی.

    using System.Drawing.Text;
    using System.Drawing;


    حالا از این کد می‌تونی واسه بازکردن فونت استفاده کنی.

    PrivateFontCollection pr = new PrivateFontCollection();
    pr.AddFontFile("Font path");
    Font font = new Font(pr.Families[0], 12.0f, FontStyle.Regular, GraphicsUnit.Pixel);


    بارگزاری فونت از روی آدرس
    آخرین ویرایش به وسیله Alghoochi : یک شنبه 27 فروردین 1391 در 12:54 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •