در این مقاله میخواهیم شرح دهیم که چگونه تبدیل متن به تصویر توسط Fly در ASP.NET را پیاده سازی کنیم. تولید تصویر با استفاده از کتابخانه GDI+ در ASP.Net انجام میشود. با من همراه باشید …
در زیر HTML Markup آمده است که ما یک Textbox داریم که متن تبدیل شده وارد آن خواهد شد یک کلید کنترل که فشار دادن آن عملیات تبدیل را انجام می دهد و کنترل تصویر(image control) برای نمایش تصویر تبدیل شده است.
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> <asp:TextBox runat="server" ID="txtText"></asp:TextBox> <asp:Button ID="btnConvert" runat="server" Text="Convert" OnClick="btnConvert_Click" /> <hr /> <asp:Image ID="imgText" runat="server" Visible="false" /> </form> </body> </html>
Namespaces
[divider style=”normal” top=”20″ bottom=”20″]پیشنهاد میکنم : وارد کردن مخاطبین از حساب Gmail به بانک اطلاعاتی در ASP.Net
[divider style=”normal” top=”20″ bottom=”20″]
به فضای نام های زیر احتیاج خواهید داشت :
سی شارپ
using System.Drawing.Text; using System.Drawing; using System.Drawing.Drawing2D; using System.IO; using System.Drawing.Imaging;
VB.Net
Imports System.Drawing.Text Imports System.Drawing Imports System.Drawing.Drawing2D Imports System.IO Imports System.Drawing.Imaging
تبدیل متن به تصویر توسط Fly
کد زیر رشته متنی را به فرمت JPEG Image تبدیل میکند. فایل تصویر که تولید میشود بر روی Disk ذخیره میشود و سپس تصویر بر روی image control نمایش داده میشود.
سی شارپ
protected void btnConvert_Click(object sender, EventArgs e) { string text = txtText.Text.Trim(); Bitmap bitmap = new Bitmap(1, 1); Font font = new Font("Arial", 25, FontStyle.Regular, GraphicsUnit.Pixel); Graphics graphics = Graphics.FromImage(bitmap); int width = (int)graphics.MeasureString(text, font).Width; int height = (int)graphics.MeasureString(text, font).Height; bitmap = new Bitmap(bitmap, new Size(width, height)); graphics = Graphics.FromImage(bitmap); graphics.Clear(Color.White); graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.TextRenderingHint = TextRenderingHint.AntiAlias; graphics.DrawString(text, font, new SolidBrush(Color.FromArgb(255, 0, 0)), 0, 0); graphics.Flush(); graphics.Dispose(); string fileName = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) + ".jpg"; bitmap.Save(Server.MapPath("~/images/") + fileName, ImageFormat.Jpeg); imgText.ImageUrl = "~/images/" + fileName; imgText.Visible = true; }
VB.Net
Protected Sub btnConvert_Click(sender As Object, e As System.EventArgs) Dim text As String = txtText.Text.Trim() Dim bitmap As New Bitmap(1, 1) Dim font As New Font("Arial", 25, FontStyle.Regular, GraphicsUnit.Pixel) Dim graphics As Graphics = graphics.FromImage(bitmap) Dim width As Integer = CInt(graphics.MeasureString(text, font).Width) Dim height As Integer = CInt(graphics.MeasureString(text, font).Height) bitmap = New Bitmap(bitmap, New Size(width, height)) graphics = graphics.FromImage(bitmap) graphics.Clear(Color.White) graphics.SmoothingMode = SmoothingMode.AntiAlias graphics.TextRenderingHint = TextRenderingHint.AntiAlias graphics.DrawString(text, font, New SolidBrush(Color.FromArgb(255, 0, 0)), 0, 0) graphics.Flush() graphics.Dispose() Dim fileName As String = Path.GetFileNameWithoutExtension(Path.GetRandomFileName()) & ".jpg" bitmap.Save(Server.MapPath("~/images/") &fileName, ImageFormat.Jpeg) imgText.ImageUrl = "~/images/" &fileName imgText.Visible = True End Sub
موفق باشید !
سلام این خیلی خوب بود