La generación de un artículo de clasificación de la imagen
Usted puede haber notado un par de nuevos iconos en la parte superior derecha de cada artículo? La primera en el nuevo icono de la muestra 5 gris estrellas, éstos se llenan como estrellas de oro como la gente se especifica una notación cuando comentan en un artículo (el segundo icono nuevo). Pensé que & #39 d compartir el código fuente que genera esta imagen.
La primera cosa a hacer es tener una etiqueta
en el código fuente que se ve algo como esto
src= & #39 /ArticleRatingImage.aspx?calificación=<%# DataBinder.Eval(Artículo, 'AverageRating') %> & #39
>
en Lugar de enlazar directamente a una URL de una imagen
hace referencia a una página ASPX con un solo parámetro, 'rating=x', donde 'x' es el AverageRating propiedad de un Artículo de propiedad de la página actual.
la Generación de la imagen
en Primer lugar he creado una imagen que constaba de 10 estrellas, los 5 primeros eran de color gris, y los últimos 5 fueron de oro.
El Page_Load código de la ArticleRatingImage.página aspx se parece a esto.
string fileName = Server.MapPath('/Images') '//ArticleRating.gif'
Imagen starImage = Imagen.FromFile(nombre de archivo)
int halfOriginalWidth = starImage.Ancho / 2
mapa de bits ratingImage = new Bitmap(halfOriginalWidth, starImage.Altura)
Gráficos ratingCanvas = Gráficos.FromImage(ratingImage)
//Dibujar el gris de las estrellas de fondo
SolidBrush purpleBrush = new SolidBrush(de Color.Blanco)
ratingCanvas.FillRectangle(purpleBrush, 0, 0, ratingImage.Ancho, ratingImage.Altura)
ratingCanvas.DrawImage(starImage, 0, 0)
//Calcular el tamaño de las estrellas de oro
la doble calificación = 0
if (Request.QueryString['rating'] != null)
prueba
{
clasificación = Convert.ToDouble(Solicitud.QueryString['rating'])
si (notación < 0)
clasificación = 0
else
si (calificación > 5)
calificación = 5
}
captura
{
}
int newWidth = (int)del Sistema.De matemáticas.Ronda(halfOriginalWidth * clasificación / 5)
Rectángulo sourceRect = new Rectangle(halfOriginalWidth, 0, newWidth, starImage.Altura)
Rectángulo destRect = new Rectangle(0, 0, newWidth, starImage.Altura)
//Dibujar las estrellas de oro
ratingCanvas.DrawImage(starImage, destRect, sourceRect, GraphicsUnit.Pixel)
la Respuesta.ContentType = 'image/gif'
ratingImage.Guardar(Respuesta.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
Conclusión
Este no fue un efecto difícil de lograr, sin embargo, no parece posible crear un GIF .net, que tiene un fondo transparente, al menos no con el estándar del marco.
Si alguien sabe cómo crear un gif en tiempo de ejecución con un fondo transparente me gustaría saber cómo hacerlo.
La generacion de un articulo de clasificacion de la imagen
La generacion de un articulo de clasificacion de la imagen : Multi-millones de consejos para hacer su vida mas facil.
Usted puede haber notado un par de nuevos iconos en la parte superior derecha de cada articulo? La primera en el nuevo icono de la muestra 5 gris estrellas, estos se llenan como estrellas de oro como la gente se especifica una notacion cuando comentan en un articulo (el segundo icono nuevo). Pense que & #39 d compartir el codigo fuente que genera esta imagen.
La primera cosa a hacer es tener una etiqueta
en el codigo fuente que se ve algo como esto
src= & #39 /ArticleRatingImage.aspx?calificacion=<%# DataBinder.Eval(Articulo, 'AverageRating') %> & #39
>
en Lugar de enlazar directamente a una URL de una imagen
hace referencia a una pagina ASPX con un solo parametro, 'rating=x', donde 'x' es el AverageRating propiedad de un Articulo de propiedad de la pagina actual.
la Generacion de la imagen
en Primer lugar he creado una imagen que constaba de 10 estrellas, los 5 primeros eran de color gris, y los ultimos 5 fueron de oro.
El Page_Load codigo de la ArticleRatingImage.pagina aspx se parece a esto.
string fileName = Server.MapPath('/Images') '//ArticleRating.gif'
Imagen starImage = Imagen.FromFile(nombre de archivo)
int halfOriginalWidth = starImage.Ancho / 2
mapa de bits ratingImage = new Bitmap(halfOriginalWidth, starImage.Altura)
Graficos ratingCanvas = Graficos.FromImage(ratingImage)
//Dibujar el gris de las estrellas de fondo
SolidBrush purpleBrush = new SolidBrush(de Color.Blanco)
ratingCanvas.FillRectangle(purpleBrush, 0, 0, ratingImage.Ancho, ratingImage.Altura)
ratingCanvas.DrawImage(starImage, 0, 0)
//Calcular el tamaño de las estrellas de oro
la doble calificacion = 0
if (Request.QueryString['rating'] != null)
prueba
{
clasificacion = Convert.ToDouble(Solicitud.QueryString['rating'])
si (notacion < 0)
clasificacion = 0
else
si (calificacion > 5)
calificacion = 5
}
captura
{
}
int newWidth = (int)del Sistema.De matematicas.Ronda(halfOriginalWidth * clasificacion / 5)
Rectangulo sourceRect = new Rectangle(halfOriginalWidth, 0, newWidth, starImage.Altura)
Rectangulo destRect = new Rectangle(0, 0, newWidth, starImage.Altura)
//Dibujar las estrellas de oro
ratingCanvas.DrawImage(starImage, destRect, sourceRect, GraphicsUnit.Pixel)
la Respuesta.ContentType = 'image/gif'
ratingImage.Guardar(Respuesta.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)
Conclusion
Este no fue un efecto dificil de lograr, sin embargo, no parece posible crear un GIF .net, que tiene un fondo transparente, al menos no con el estandar del marco.
Si alguien sabe como crear un gif en tiempo de ejecucion con un fondo transparente me gustaria saber como hacerlo.
La generación de un artículo de clasificación de la imagen
By Consejos Y Trucos
La generación de un artículo de clasificación de la imagen : Multi-millones de consejos para hacer su vida más fácil.