Wie Erstellen von Transparenten Bitmap-Bild?Es gibt schwarzen hintergrund, wenn ich die Eigenschaft Grafik.clear(color.Transparent ).)

Ich bin mit einem tag in einer aspx-Seite mit dem Namen displayImage.aspx und zuordnen das src-Attribut value, das ist eine andere aspx-Seite mit dem Namen getImageFromText.aspx

** src="getImageFromText.aspx" .**

Ich schrieb den code für das erzeugen der bitmap in getImageFromText.aspx.cs und speichern Sie es im memory Dampf, aber ich bin nicht in der Lage zu machen, dass ein Bild transparent .Wenn ich Grafiken.clear(color.Transparent), dann gibt es schwarzen hintergrund tats y ich eingestellt habe
Grafik.clear(color.ANYCOLOR) zu entfernen, die schwarzen hintergrund.
Bitte geben Sie mir Rat oder code aus, den ich machen kann transparenten hintergrund für bitmap-Bild .
Der code ist unten

protected void Page_Load(object sender, EventArgs e)
{

    if (Request.QueryString["phone"] != null)
    {
        CreateBitmapImage(Request.QueryString["phone"]);
    }

    // CreateBitmapImage("Call Now 123-457-1222");

}
private void CreateBitmapImage(string phonenumber)
{

    string message = "Call Now " + phonenumber.ToString();
    Bitmap objBmpImage = new Bitmap(1, 1);



    int intWidth = 0;

    int intHeight = 0;


    //Create the Font object for the image text drawing.
    FontFamily[] fontFamilies;
    PrivateFontCollection fontCollection = new PrivateFontCollection();
    fontCollection.AddFontFile(Server.MapPath("Futura-Condensed-Bold.ttf"));
    fontFamilies = fontCollection.Families;
    string familyName = "";
    familyName = fontFamilies[0].Name;
    Font objFont = new Font(familyName, 19, 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(message, objFont).Width;

    intHeight = (int)objGraphics.MeasureString(message, 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 "#5496CA"
    string xCol = "#5496CA";
    Color clearClr = System.Drawing.ColorTranslator.FromHtml(xCol);
    objGraphics.Clear(clearClr);

    objGraphics.SmoothingMode = SmoothingMode.AntiAlias;
    objGraphics.PixelOffsetMode = PixelOffsetMode.HighQuality;
    objGraphics.TextRenderingHint = TextRenderingHint.AntiAlias;

    objGraphics.DrawString(message, objFont, new SolidBrush(Color.White), 0, 0);



    MemoryStream memoryStream = new MemoryStream();
    objBmpImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Bmp);

    //Write the MemoryStream to the Response stream, and set content type to image/gif.
    memoryStream.WriteTo(Response.OutputStream);
    Response.ContentType = "image/gif";
    Response.End();

    //Clean up.
    memoryStream.Close();
    objGraphics.Flush();




}

InformationsquelleAutor Shailesh Sahu | 2011-07-27

Schreibe einen Kommentar