Answered by:
Adding text to Image - Byte[]

Question
-
User1610713445 posted
I have an image in byte[] format - about to be sent to a website.
I need to add a small caption to the image. I managed to get the Image into a Graphics format, and added the text. Problem is - how do I get it back to a byte[]?
private byte[] addText(byte[] filearray, string textToAdd) { MemoryStream ms = new MemoryStream(filearray, 0, filearray.Length); ms.Write(filearray, 0, filearray.Length); Image newImage = Image.FromStream(ms); Graphics g = Graphics.FromImage(newImage); g.DrawString(textToAdd, new Font("Arial", 10), Brushes.White, new PointF(0, 0)); }
Wednesday, December 9, 2009 4:50 AM
Answers
-
User-263151482 posted
byte[] newBytes = imageToByteArray(newImage) ;
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Monday, December 14, 2009 12:00 PM
All replies
-
User-263151482 posted
public byte[] imageToByteArray(System.Drawing.Image imageIn) { MemoryStream ms = new MemoryStream(); imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif); return ms.ToArray(); }
Wednesday, December 9, 2009 7:07 AM -
User1610713445 posted
That's imageToByteArray
I need GraphicsToByteArray.
Wednesday, December 9, 2009 3:37 PM -
User1610713445 posted
Not possible?
Thursday, December 10, 2009 2:59 AM -
User-263151482 posted
You just pass it the image that you created the graphics from and the text will be in the image.
Friday, December 11, 2009 2:33 AM -
User1610713445 posted
Thanks.
Not sure how to do that though. I currently have:
MemoryStream ms = new MemoryStream(filearray, 0, filearray.Length); ms.Write(filearray, 0, filearray.Length); Image newImage = Image.FromStream(ms); Graphics g = Graphics.FromImage(newImage); g.DrawString(textToAdd, new Font("Arial", 10), Brushes.White, new PointF(0, 0));
Friday, December 11, 2009 10:52 PM -
User-263151482 posted
byte[] newBytes = imageToByteArray(newImage) ;
- Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
Monday, December 14, 2009 12:00 PM