Generieren ein Artikelbild Bewertung


Sie bemerkt haben, ein paar neue Icons oben rechts eines jeden Artikels? Das erste neue Symbol zeigt 5 grau Sterne, diese füllen Sie als goldenen Sternen als Menschen, die eine Bewertung angeben, wenn sie auf einen Artikel (das zweite neue Symbol) Stellung zu nehmen. Ich dachte, dass ich den Quellcode teilen würde, der dieses Bild erzeugt.

Das erste, was zu tun ist < Img >-Tag im Quellcode zu haben, die etwa so aussieht

< Img Alt = 'Rating'
src='/ArticleRatingImage.aspx?Rating= < % # DataBinder.Eval (Artikel, 'AverageRating') % >'
>

Anstatt direkt auf eine Bild-URL Verknüpfung verweist diese < Img > eine ASPX-Seite mit einem einzelnen Parameter 'Note = X', wobei 'X' ist die AverageRating-Eigenschaft einer Artikel-Eigenschaft der aktuellen Seite.

, Die das Bild erzeugen

Zuerst, ich habe ein Bild, das von 10 Sternen bestand, die ersten 5 waren grau und die letzten 5 waren Gold.

Der Code Page_Load der Seite ArticleRatingImage.aspx sieht wie folgt aus.

string Dateiname = Server.MapPath('/Images') + '\\ArticleRating.gif';
Bild StarImage = Image.FromFile(fileName);
Int HalfOriginalWidth = starImage.Width / 2;
RatingImage Bitmap = new Bitmap (HalfOriginalWidth, starImage.Height);
Grafik-RatingCanvas = Graphics.FromImage(ratingImage);

Ziehen Sie den grauen Hintergrund-stars
SolidBrush PurpleBrush = neue SolidBrush(Color.White);
ratingCanvas.FillRectangle (PurpleBrush, 0, 0, ratingImage.Width, ratingImage.Height);
ratingCanvas.DrawImage (StarImage, 0, 0);

Berechnen Sie die Größe der Goldene Sterne
Doppel-Bewertung = 0;
Wenn (Request.QueryString['rating']! = Null)
versuchen Sie
{
Bewertung = Convert.ToDouble(Request.QueryString['rating']);
Wenn (Bewertung < 0)
Bewertung = 0;
sonst
Wenn (Bewertung > 5)
Bewertung = 5;
}
fangen
{
}

Int NewWidth = (int)System.Math.Round (HalfOriginalWidth * Bewertung/5);
Rechteck SourceRect = neues Rechteck (HalfOriginalWidth, 0, NewWidth, starImage.Height);
Rechteck DestRect = neue Rectangle (0, 0, NewWidth, starImage.Height);

Zeichnen Sie die goldenen Sternen
ratingCanvas.DrawImage (StarImage, DestRect, SourceRect, GraphicsUnit.Pixel);

Response.ContentType = 'Image/Gif';
ratingImage.Save (Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);


Fazit

Das war kein sehr schwer Effekt zu erzielen, jedoch scheint es nicht möglich, eine GIF in net hat einen transparenten Hintergrund, zumindest nicht mit der Standardrahmen zu erstellen.

Wenn jemand weiß, wie das GIF-Format mit transparentem Hintergrund zur Laufzeit erstellen möchte ich hören, wie Sie es tun.









Generieren ein Artikelbild Bewertung


Generieren ein Artikelbild Bewertung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Sie bemerkt haben, ein paar neue Icons oben rechts eines jeden Artikels? Das erste neue Symbol zeigt 5 grau Sterne, diese füllen Sie als goldenen Sternen als Menschen, die eine Bewertung angeben, wenn sie auf einen Artikel (das zweite neue Symbol) Stellung zu nehmen. Ich dachte, dass ich den Quellcode teilen würde, der dieses Bild erzeugt.

Das erste, was zu tun ist < Img >-Tag im Quellcode zu haben, die etwa so aussieht

< Img Alt = 'Rating'
src='/ArticleRatingImage.aspx?Rating= < % # DataBinder.Eval (Artikel, 'AverageRating') % >'
>

Anstatt direkt auf eine Bild-URL Verknüpfung verweist diese < Img > eine ASPX-Seite mit einem einzelnen Parameter 'Note = X', wobei 'X' ist die AverageRating-Eigenschaft einer Artikel-Eigenschaft der aktuellen Seite.

, Die das Bild erzeugen

Zuerst, ich habe ein Bild, das von 10 Sternen bestand, die ersten 5 waren grau und die letzten 5 waren Gold.

Der Code Page_Load der Seite ArticleRatingImage.aspx sieht wie folgt aus.

string Dateiname = Server.MapPath('/Images') + '\\ArticleRating.gif';
Bild StarImage = Image.FromFile(fileName);
Int HalfOriginalWidth = starImage.Width / 2;
RatingImage Bitmap = new Bitmap (HalfOriginalWidth, starImage.Height);
Grafik-RatingCanvas = Graphics.FromImage(ratingImage);

Ziehen Sie den grauen Hintergrund-stars
SolidBrush PurpleBrush = neue SolidBrush(Color.White);
ratingCanvas.FillRectangle (PurpleBrush, 0, 0, ratingImage.Width, ratingImage.Height);
ratingCanvas.DrawImage (StarImage, 0, 0);

Berechnen Sie die Größe der Goldene Sterne
Doppel-Bewertung = 0;
Wenn (Request.QueryString['rating']! = Null)
versuchen Sie
{
Bewertung = Convert.ToDouble(Request.QueryString['rating']);
Wenn (Bewertung < 0)
Bewertung = 0;
sonst
Wenn (Bewertung > 5)
Bewertung = 5;
}
fangen
{
}

Int NewWidth = (int)System.Math.Round (HalfOriginalWidth * Bewertung/5);
Rechteck SourceRect = neues Rechteck (HalfOriginalWidth, 0, NewWidth, starImage.Height);
Rechteck DestRect = neue Rectangle (0, 0, NewWidth, starImage.Height);

Zeichnen Sie die goldenen Sternen
ratingCanvas.DrawImage (StarImage, DestRect, SourceRect, GraphicsUnit.Pixel);

Response.ContentType = 'Image/Gif';
ratingImage.Save (Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif);


Fazit

Das war kein sehr schwer Effekt zu erzielen, jedoch scheint es nicht möglich, eine GIF in net hat einen transparenten Hintergrund, zumindest nicht mit der Standardrahmen zu erstellen.

Wenn jemand weiß, wie das GIF-Format mit transparentem Hintergrund zur Laufzeit erstellen möchte ich hören, wie Sie es tun.


Generieren ein Artikelbild Bewertung

Generieren ein Artikelbild Bewertung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Generieren ein Artikelbild Bewertung
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung