3

Asp.Net MVCで C# を使用して、Textarea またはその他の入力コントロール (Web ページ全体ではない) に入力された HTML コードから画像 (JPEG) を生成したいと考えています。MVC は WebBrowser コントロールをサポートしていません。

この HTML には、データと画像の両方が含まれています

HTML

<b>Convert Html To Image<b> 
<br/>
<img src="C:\Logo.jpg" alt="Smiley face" width="42" height="42"> 

ビットマップ画像作成機能のControllerにhtmlコードを渡しました

private Bitmap CreateBitmapImage(string html)
{
   Bitmap objBmpImage = new Bitmap(1, 1);

   int intWidth = 0;
   int intHeight = 0;

   // Create the Font object for the image text drawing.
   Font objFont = new Font("Arial", 20, System.Drawing.FontStyle.Bold,  System.Drawing.GraphicsUnit.Pixel);

   // Create a graphics object to measure the text's width and height.
   Graphics objGraphics = Graphics.FromImage(objBmpImage);

   // This is where the bitmap size is determined.
   intWidth = (int)objGraphics.MeasureString(html, objFont).Width;
   intHeight = (int)objGraphics.MeasureString(html, objFont).Height;

   // Create the bmpImage again with the correct size for the text and font.
   objBmpImage = new Bitmap(objBmpImage, new Size(intWidth, intHeight));

   // Add the colors to the new bitmap.
   objGraphics = Graphics.FromImage(objBmpImage);

   // Set Background color
   objGraphics.Clear(Color.White);
   objGraphics.SmoothingMode = SmoothingMode.AntiAlias;
   objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;
   objGraphics.DrawString(html, objFont, new SolidBrush(Color.FromArgb(102, 102, 102)), 0, 0);
   objGraphics.Flush();
   return (objBmpImage);
}

しかし、それはこのような出力を返します

ここに画像の説明を入力

しかし必要なアウトプット

ここに画像の説明を入力

これを生成する方法(HTMLから画像を生成する手順)またはHtmlToImageConverterのように利用可能なサードパーティのオープンソースコンポーネントはありますか?

4

2 に答える 2

0

webSupergooは html から jpg を生成します。オープン ソースではありませんが、無料でダウンロードできます。itextsharpを使用して問題を解決できる場合は、html を pdf に変換することもできます。

于 2013-08-05T10:24:27.100 に答える