Solved

Create image with text wrapped to pre-defined area

Posted on 2008-11-03
1
265 Views
Last Modified: 2011-09-20
I am very stuck with something I am trying to build where users load a JPG file from a template library, enter some text, select a font and font size and alignment and then they click submit. A new image is created with the user's text inserted in the correct font, size and position.

What I would like to do is to be able to wrap the form inputted text to a rectangular shape which has it's dimensions sourced from the database record relating to the template. The information I am thinking of storing is TOP co-ord, LEFT co-ord, Width and Height. This would create a rectangular shape for the text to be wrapped in.

I have a similar example of what I would like to do using Windows Forms (http://www.java2s.com/Code/CSharp/2D-Graphics/Textwrapverticalhorizontalandtrim.htm) but I do not know how to do it using asp.Net for a website or whether I can use the same methods.

I would be very grateful if anyone can help me get the correct code for what  I want to do. :)
MY CURRENT CODING
-----------------
Dim bitMapImage As Bitmap = New Bitmap(Server.MapPath("/imgs/templates/MothersDay.jpg"))
        Dim graphicImage As Graphics = Graphics.FromImage(bitMapImage)
        graphicImage.SmoothingMode = SmoothingMode.AntiAlias
        Dim oColor As System.Drawing.Color
        Dim sColor As String = Request("BackgroundColor")
        Dim sText As String = Request("Text")
        Dim sFont As String = Request("Font")
 
        Select sColor
            Case "red"
                oColor = Color.Red
            Case "green"
                oColor = Color.Green
            Case "navy"
                oColor = Color.Navy
            Case "orange"
                oColor = Color.Orange
            Case Else
                oColor = Color.Black
        End Select
 
 
        graphicImage.DrawString("Example Text Example Text Example Text", New Font("Arial", 20, FontStyle.Bold), SystemBrushes.WindowText, New Point(100, 250))
        bitMapImage.Save(Server.MapPath("/imgs/users/generated_image.jpg"), ImageFormat.Jpeg)

Open in new window

0
Comment
Question by:clearchannel
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 

Accepted Solution

by:
clearchannel earned 0 total points
ID: 22869008
Solved this myself using similar properties to the window forms code


Dim font As New Font("Verdana", 20)
Dim rect As New Rectangle(10, 10, 200, 200)
graphicImage.DrawString(text, font, Brushes.Red, rect)

Open in new window

0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
User art_snob (http://www.experts-exchange.com/M_6114203.html) encountered strange behavior of Android Web browser on his Mobile Web site. It took a while to find the true cause. It happens so, that the Android Web browser (at least up to OS ver. 2.…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…
Are you ready to implement Active Directory best practices without reading 300+ pages? You're in luck. In this webinar hosted by Skyport Systems, you gain insight into Microsoft's latest comprehensive guide, with tips on the best and easiest way…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question