Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-01-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 20
[Gunman] Va por buen camino
Iconos en Menús, vaya piiiiii

Hola!
Como todos sabréis (y si no os lo recuerdo), si exportas un icono de Windows XP de una dll o un exe (por ejemplo shell32.dll) y lo colocas en el menú, el icono sale envuelto de una franja de color fucsia (o del color con que lo hayas exportado). No habria alguna forma de que los iconos quedasen tan chulos en nuestro programa como los iconos que lleva el WinXP?
Espero que me entendáis alguien lo ha conseguido? Yo de momento lo que hago es editarlos con el paint shop pro (parecido al photoshó) hasta que queden más o menos bien.
Gracias!
__________________
l2prog.co.nr
Responder Con Cita
  #2  
Antiguo 30-01-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Desde que uso ArtIcons he olvidado los colores que usan los programas para el color transparente, jejejej.

Si lo vas a añadir a un ImageList, coloca la propiedad del ImageList.Transparent := true, ello quitará el color fuchsia sin tener que editar el icono.


saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 30-01-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 20
[Gunman] Va por buen camino
No encuentro la propiedad ImageList.Transparent (en el BDS2006) pero si que he visto la propiedad ImageList.DrawingStyle y la he puesto en dsTransparent pero esta propiedad no me ha solucionado nada, porque los iconos de windows XP llevan una degradación del color en los bordes para que el efecto sea más suave, entonces por ejemplo la propiedad Transparent "elimina" el color fucsia (#ff00ff) pero el color de los bordes, que es cercano al negro no los degrada para hacer un gris, ya que el código del color no es el mismo, y por lo tanto se ve el borde rosado.
__________________
l2prog.co.nr
Responder Con Cita
  #4  
Antiguo 31-01-2006
Avatar de Jonnathan
Jonnathan Jonnathan is offline
Miembro
 
Registrado: may 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 64
Poder: 19
Jonnathan Va por buen camino
Hola Gunman, una vez trate de hacer algo parecido y me encontré con una pared ya que eso es un problema que llega hasta las librerias de Windows. Me explico: para las imágenes de los menús, la VCL usa algunas funciones de Windows que "pintan" estos íconos en formato BMP y creo que lo hace sin el "flag" o bit de nivel de transparencia. Lo que puedes hacer es guardar tus imágenes con el mismo color del fondo del menú, pero tambien está el problema que no todos los Windows y computadores tienen el mismo color de fondo para el menú, asi que tal vez tengas que usar un Componente TActionMenuBar combinado con TStandardColorMap para que el menú siempre lo pinte del mismo color. Otra opción es que uses un componente "Menú" personalizado que si tenga esas características.

La última opción es algo que implemente en un sistema que hice hace poco y es un poco laboriosa : Conviertes tus imágenes a PNG, bajas algun componente/librería PNG para delphi y pintas tu mismo la imagen en los menús en el evento OnDrawItem. ¿Por qué en formato PNG y no directamente como *.ICO? Porque es una desagradable sorpresa cuando tengas que correr tu sistema en Windows2000/9x y veas los iconos con esos manchones negros (Porque solo Windows XP admite transparencias) . En formato PNG no tienes ese problema.
__________________
"En el siglo de la estupidez todas las casas comienzan por la fachada" (Fuckowsky)
Planeta Insólito, La Pluma Inspirada

Última edición por Jonnathan fecha: 31-01-2006 a las 14:35:32.
Responder Con Cita
  #5  
Antiguo 31-01-2006
[Gunman] [Gunman] is offline
Miembro
 
Registrado: dic 2004
Ubicación: Pedreguer.
Posts: 355
Poder: 20
[Gunman] Va por buen camino
Mmm... interesante solución, de momento ya he solucionado mi problema como lo he hecho hasta ahora (con el photoshó) ya probaré en alguna otra ocasión.
Gracias ;-)
__________________
l2prog.co.nr
Responder Con Cita
  #6  
Antiguo 02-02-2006
lpaburto lpaburto is offline
Miembro
 
Registrado: sep 2005
Posts: 10
Poder: 0
lpaburto Va por buen camino
Gunman

Te explico, el nuevo formato de iconos que trae windows XP añade un nuevo canal a la imagen (por defecto las imagenes tienen Rojo, verde y azul, para formar cualquier color), este canal es utilizado para generar el nivel de transparencia de los otros 3, es decir, 255 el punto es totalmente visible, 0 es totalmente invisible, por lo tanto tienes una gama de 255 niveles de transparencia.

Delphi solo soporta los iconos con los tres canales basicos (no soporta el canal ALPHA) por lo tanto solo puedes elejir 1 color para que no sea dibujado (transparente).

Existen un par de librerias que te permiten trabajar con estas transparencias, pero todas son de pago.

Una de las pocas soluciones (si no quieres implementar una rutina de dibujo con canal ALPHA en los menus) es fijar el color de los menus y en Photoshop convertir los iconos en imagenes con el color de fondo que elejiste para los menus.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Los menús desaparecerán de la próxima versión de Microsoft Office marcoszorrilla Noticias 3 19-11-2005 20:53:42
Iconos para tus aplicaciones y/o páginas Web dec Gráficos 1 09-09-2005 16:20:20
Virtual Listview e iconos virtuales. Muy interesante pero... Playwithfire Varios 4 14-10-2004 15:06:28
Usar iconos multiformato???? burasu Varios 0 07-10-2004 12:59:45
Agregar iconos como recursos roman Gráficos 1 28-02-2004 03:42:18


La franja horaria es GMT +2. Ahora son las 14:55:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi