In this article, you will learn how to convert text string to image in asp.net MVC c#?
public FileResult GenerateImage()
{
MemoryStream ms = new MemoryStream();
string text ="usingcsharp.com";
Image img = new Bitmap(200, 30, System.Drawing.Imaging.PixelFormat.Format64bppArgb);
Graphics drawing = Graphics.FromImage(img);
Font font = new Font("Arial", 30, FontStyle.Bold, GraphicsUnit.Pixel);
SizeF textSize = drawing.MeasureString(text, font);
img.Dispose();
drawing.Dispose();
//create a new image of the right size
img = new Bitmap((int)textSize.Width + 30, (int)textSize.Height + 40);
drawing = Graphics.FromImage(img);
Color backColor = Color.White;
Color textColor = Color.FromArgb(1, 119, 245);
//textColor. = "#0177F5";
//paint the background
drawing.Clear(backColor);
//create a brush for the text
Brush textBrush = new SolidBrush(textColor);
drawing.DrawString(text, font, textBrush, 40, 20);
drawing.Save();
font.Dispose();
textBrush.Dispose();
drawing.Dispose();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
img.Dispose();
return File(ms.ToArray(), "image/png");
}
<img class="img-fluid img-thumbnail" src="/Home/GenerateImage" alt="@ViewBag.OriginalTitle" id="imgsource1" />
How to convert text string to image in asp.net MVC c#?
public static byte[] CreateHTMLtoPDF(string HtmlString)
{
var htmlContent = String.Format(HtmlString);
var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter();
htmlToPdf.Orientation = NReco.PdfGenerator.PageOrientation.Landscape;
//var Orientation = new NReco.PdfGenerator.HtmlToPdfConverter().Orientation=NReco.PdfGenerator.PageOrientation.Landscape;
htmlToPdf.Size = NReco.PdfGenerator.PageSize.A4;
//htmlToPdf.Zoom = -0.55f;
var pageMargin = new NReco.PdfGenerator.HtmlToPdfConverter().Margins;
//htmlToPdf.PageHeight= 210;
//htmlToPdf.PageWidth = 297;
pageMargin.Left = 25;
pageMargin.Right = 25;
pageMargin.Bottom = 25;
pageMargin.Top = 25;
var pdfBytes = htmlToPdf.GeneratePdf(htmlContent);
byte[] bytes;
using (MemoryStream input = new MemoryStream(pdfBytes))
{
using (MemoryStream output = new MemoryStream())
{
string userpassword = "123";//Change it with User DOB Format dd-MM-yyyy
string Ownerpassword = "123";//Change it with whatever owner is wanted
PdfReader reader = new PdfReader(input);
PdfEncryptor.Encrypt(reader, output, true, userpassword, Ownerpassword, PdfWriter.ALLOW_SCREENREADERS);
bytes = output.ToArray();
//Response.ContentType = "application/pdf";
//Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.pdf");
//Response.Cache.SetCacheability(HttpCacheability.NoCache);
//Response.BinaryWrite(bytes);
//Response.End();
}
}
return bytes;
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SendOTP.aspx.cs" Inherits="Shoping_Cart.SendOTP" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>How to Send and Verify OTP On Mobile No Using C# In Asp.Net</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Mobile No:
<asp:TextBox ID="txtMobileNo" runat="server" Width="200px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Send OTP" />
<br />
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Shoping_Cart
{
public partial class SendOTP : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
try
{
Random r = new Random();
string OTP = r.Next(1000, 9999).ToString();
//Send message
string Username = "youremail@domain.com";
string APIKey = "YourHash";
string SenderName = "MyName";
string Number = "981111111";
string Message = "OTP code is - " + OTP;
string URL = "http://api.minifycode.in/send/?username=" + Username + "&hash=" + APIKey + "&sender=" + SenderName + "&numbers=" + Number + "&message=" + Message;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(URL);
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
string results = sr.ReadToEnd();
sr.Close();
Session["OTP"] = OTP;
//Redirect for varification
Response.Redirect("VerifyOTP.aspx");
}
catch (Exception ex)
{
lblMessage.Text = ex.Message.ToString();
}
}
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Verify.aspx.cs" Inherits="Cart.VerifyOTP" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Verify OTP</title>
</head>
<body>
<form id="form1" runat="server">
<div>
OTP:
<asp:TextBox ID="txtOTP" runat="server" Width="200px"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Verify OTP" />
<br />
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Cart
{
public partial class OTP : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["OTP"].ToString() == txtOTP.Text)
{
lblMessage.Text = "You have enter correct OTP.";
Session["OTP"] = null;
}
else
{
lblMessage.Text = "Pleae enter correct OTP.";
}
}
}
}