Solved

Create image with text wrapped to pre-defined area

Posted on 2008-11-03
1
258 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
1 Comment
 

Accepted Solution

by:
clearchannel earned 0 total points
Comment Utility
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

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

Suggested Solutions

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.…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

728 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now