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

نام تاپیک: برای جلوگیری از کاهش کیفیت عکس , هنگام نوشتن متن بر روی اونو چی کار کنم؟

  1. #1

    Tick برای جلوگیری از کاهش کیفیت عکس , هنگام نوشتن متن بر روی اونو چی کار کنم؟

    سلام
    من با این کد یک متن رو روی یک عکس می نویسم.
    بعد از نوشته شدن متن, کیفیت عکس خیلی کم می شه.
    آیا راهی برای جلوگیری از این اتفاق هست؟
    من به عکس با کیفیت بالا نیاز دارم

    Imports System.Drawing
    Imports System.Drawing.Imaging
    Imports System.Drawing.Drawing2D
    Imports System.Drawing.Text
     
    Dim bitMapImage As Bitmap = New System.Drawing.Bitmap(Server.MapPath("Image.jpg"))
    Dim graphicImage As Graphics = Graphics.FromImage(bitMapImage)
    graphicImage.SmoothingMode = SmoothingMode.HighQuality
    graphicImage.DrawString("Mante Payam", New Font("Tahoma", 10, FontStyle.Italic), SystemBrushes.ActiveCaptionText, New Point(100, 150))
    'graphicImage.DrawEllipse(New Pen(Color.Red, 3), 10, 20, 150, 90)
    Response.ContentType = "image/jpeg"
    'Save the new image to the response output stream.
    bitMapImage.Save(Response.OutputStream, ImageFormat.Jpeg)
    graphicImage.Dispose()
    bitMapImage.Dispose()

  2. #2
    با سلام

    سال نو مبارک

    برای ساختن تصویر با بهترین کیفیت بصورت زیر عمل کنید .

    ابتدا Codec را بصورت زیر تعریف کنید :

    'Image Codecs For Good Quality
    Dim Inf() = Drawing.Imaging.ImageCodecInfo.GetImageEncoders()
    Dim EnParms As New Drawing.Imaging.EncoderParameters(1)
    EnParms.Param(0) = New Drawing.Imaging.EncoderParameter(Drawing.Imaging.E ncoder.Quality, 100L)


    سپس هنگام خروجی استریم کد را بصورت زیر تغییر دهید :

    bitMapImage.Save(Response.OutputStream, Inf(1), EnParms)


    موفق و پیروز باشید .

  3. #3
    سلام
    عید بر شما و همه دوستان برنامه نویس مبارک باشه.

    مشکلم با کیفیت حل شد. ولی با یه مشکل جدید روبرو شدم
    وقتی بر روی عکس کلیک راست و Save رو میزنم اگه فرمت عکس Jpg باشه , عکس ذخیره نمی شه ولی اگه فرمت BMP باشه درست می شه.
    مشکل از سیستم منه یا اشکالی در کد ها وجود داره ( با IE و Firefox تست کردم هر دو اینجوری بود)

  4. #4
    با سلام مجدد

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

    Response.AddHeader("content-disposition", "attachment;filename=" & TimeString.Replace(":", "") & ".jpg")


    با این کار فایلی که به سمت کلاینت ارسال می شود دارای نام هم می باشد که امیدوارم مشکلتون با این کار حل بشه (الان ساعت بدون : برای نام فایل استفاده شد)

    در ضمن شاید این کدها هم به درد کار شما بخوره . هنگام شروع این دو خط کد را بنویسید :

    Response.Clear()
    Response.BufferOutput = True

    و هنگام پایان دستورات نیز این دو خط را بنویسید :
    Response.Flush()
    Response.End()

    موفق باشید . خدانگهدار

  5. #5
    سلام
    ممنون از لطفتون.
    مشکلم حل شد.

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

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