2016-10-14 3 views
0

作成した新しいビットマップイメージを表示したいと考えています。それを保存しないでください。新しいビットマップを保存しないC#

私は新しいイメージを保存せずに新しいイメージを返すことを望んでいるC#およびimのグラフィックスでビットマップを使用しています。

C#

private void GenerateBanner(string titleText) { 

    Bitmap bannerSource = new Bitmap(DefaultBannerPath); 
    //bannerSource.Save(PhysicalBannerPath); 
    RectangleF rectf = new RectangleF(430, 50, 650, 50); 

    using (Graphics g = Graphics.FromImage(bannerSource)) 
    { 
     g.SmoothingMode = SmoothingMode.AntiAlias; 
     g.InterpolationMode = InterpolationMode.HighQualityBicubic; 
     g.PixelOffsetMode = PixelOffsetMode.HighQuality; 
     g.TextRenderingHint = TextRenderingHint.AntiAliasGridFit; 
     g.DrawString(titleText, new Font("Bradley Hand ITC", 100, FontStyle.Bold), Brushes.White, rectf); 
     //bannerSource.Save(PhysicalBannerPath); 
    } 
} 
+1

Winforms? 'Form'に' PictureBox'を使用してください –

+0

あなたはWinFormsやWPFを使っているのですか? – Fredrik

+0

私自身のクラスコントロール。それはaspxのページになります。 @FredrikRedin –

答えて

2

ASPXページからこの画像を返すために(HTMLでimg srcとして使用することができます)、あなたはMemoryStreamを使用してbyte[]に変換する必要があります。 Response.BinaryWriteメソッドを使用します。

 byte[] bytes; 
     using (var stream = new System.IO.MemoryStream()) 
     { 
      bannerSource.Save(stream, System.Drawing.Imaging.ImageFormat.Jpeg); 
      bytes = stream.ToArray(); 
     } 

     Response.ContentType = "image/jpeg"; 
     Response.Clear(); 
     Response.BinaryWrite(bytes); 
     Response.End(); 
+1

_Some detail information_:あなたのHTMLページに ''を作成する必要があり、 'getimage.aspx'は上記のコードを実行する必要があります。したがって、2つのステップで実装する必要があります。最初は画像リンクを生成しています。 2つ目は、クエリ文字列を解釈して正しいイメージを返すことです。 –

関連する問題