我想要把一段文字繪制成圖片,字體,字號,文字都是動態獲得的,最后成圖的要求是背景必須與前面的文字是一樣大的!
各位這個是不是要先獲取到文欄位的長寬然后再繪制背景圖片,再把文字繪制到背景圖片上接著合成一張圖片呢?string str="hello";
Graphics g = Graphics.FromImage(new Bitmap(1, 1));
Font font=new Font("宋體", 9);
SizeF sizeF = g.MeasureString(str, font); //測量出字體的高度和寬度
Brush brush; //筆刷,顏色
brush = Brushes.Lime;
PointF pf = new PointF(0, 0);
Bitmap img = new Bitmap(Convert.ToInt32(sizeF.Width), Convert.ToInt32(sizeF.Height));
g = Graphics.FromImage(img);
g.DrawString(str, font, brush, pf);
//輸出圖片
MemoryStream ms = new MemoryStream();
img.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.BinaryWrite(ms.ToArray());
有人給了我一段C的代碼來解決,可是這個弄出來的背景依然會比文字大一些,請問各位高手有什么辦法來處理這個問題么?
uj5u.com熱心網友回復:
這個只有畫完了以后根據像素判斷裁剪了。因為不同的文字尺寸不同。你用的幾個字沒有占滿,不等于字庫中的所有字都這么大。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/136266.html
標籤:VB基礎類
