Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-04-2007
kloud kloud is offline
Miembro
 
Registrado: ene 2006
Posts: 23
Poder: 0
kloud Va por buen camino
Unhappy PngComponents y la Propiedad Stretch

Hola a todos. Despues de mucho buscar, encontré unos componentes que funcionan bastante bien para el uso de imágenes en png, se trata de los PngComponents. Pero le falla una cosa (o yo no se ponerlo ), y es que la propiedad stretch aunque la ponga a True, la imagen no se autoajusta.
Mi pregunta es: ¿Hay alguna forma de poder ajustar ese png con estos componentes, o conoceis otros con los que si se puede hacer?
Gracias a todos por vuestro tiempo.
Responder Con Cita
  #2  
Antiguo 15-04-2007
kloud kloud is offline
Miembro
 
Registrado: ene 2006
Posts: 23
Poder: 0
kloud Va por buen camino
¿Nadie puede ayudarme?. He estado mirando en inet pero no encuentro nada útil y agradeceria cualquier ayuda. Un saludo.
Responder Con Cita
  #3  
Antiguo 16-04-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Lightbulb Revisa la configuración del paquete

Conozco ese paquete de componentes, me he enamorado de ellos porque soy un amante del formato PNG, sin embargo tuve tu misma experiencia, pero no fue al prinpicio, sino despues de algunas semanas de haber estado utilizando los componentes. Luego de buscar, reinstalar y verificar, descubrí que el problema era que la configuracion del paquete no era la correcto, el problema era que el paquete hacia referencia a algunos archivos que no existian (yo los habia movido accidentalente) entonces redireccioné todos los archivos y de esa forma me funciono la propiedad a como lo esperaba. En conclusión revisa toda la configración del paque en donde los tienes instalados, si es necesario, reinstala los componentes, si el problema persiste avisame. Aunque no lo parezca, todos los archivos son importantes. No menosprecies los archivos *.Obj de la carpeta de Obj y las otras unidades que están en el directorio raíz (pngextra.pas, pngimage.pas, pnglang y zlibpas) con sus respectivos archivos DCU.

Última edición por Chris fecha: 16-04-2007 a las 20:39:59.
Responder Con Cita
  #4  
Antiguo 17-04-2007
kloud kloud is offline
Miembro
 
Registrado: ene 2006
Posts: 23
Poder: 0
kloud Va por buen camino
Hola, en primer lugar gracias por responder. Bueno, he reinstalado el paquete, he comprobado mil veces que todo este correcto y demas, pero nada.
Y releyendo tu post me he dado cuenta de que no usamos los mismos componentes para los png´s (o al menos eso creo, porque los archivos que mencionas no los tengo). Me gustaria saber si los que usas son libres y si podrias decirme de donde lo has descargado, o pasarmelos de alguna forma (si fuera posible, claro)
.
Una vez mas, gracias por contestar y un saludo.
Responder Con Cita
  #5  
Antiguo 17-04-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
PngComponents de Thany.org

los componentes a los que me refiero los puedes encontrar en:

http://www.thany.org/article/32/PngComponents

estos traen un TImages, nada más que basado en imágenes Png, un TPngSpeedButton, TpngImage, TPngCollection, creo que se me escapa uno, pero bueno. es sí esos son, y aún así creo que estamos hablando de los mismos controles. de todos modos intenta recrear manualmente el paquete en donde los tienes intalados, revisa también las rutas de búsqueda del IDE en preferencias --> Search Paths o opciones similares. Prueba hasta el cansancio, no te des por vencido.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #6  
Antiguo 17-04-2007
kloud kloud is offline
Miembro
 
Registrado: ene 2006
Posts: 23
Poder: 0
kloud Va por buen camino
No hay manera, llevo toda la mañana y hasta ahora liado y no ahi manera. He probado de todo, lo he revisado una y otra vez...
¿Podrias decirme exactamente como lo tienes configurado?, ya se que es mucho pedir, pero esque ya no se que hacer. Gracias.
Responder Con Cita
  #7  
Antiguo 18-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola,

Hasta antes de leer este hilo, no me había yo percatado del detalle que mencionan. He estado probando varias cosas, pero sin éxito completo.

Al parecer, estas componentes hacen uso de la librería pngdelphi y la versión que acompaña a las pncomponentes es anterior a la que se encuentra en su sitio.

Probé descargando la versión reciente en el directorio pngcomponents\source y recompilando e instalando todo. El fallo de la propiedad Stretch, así como de la propiedad Centered, que tampoco funcionaba, se arregló, pero surgió otro que no sé cómo remediar.

Veamos, antes de actualizar, esto es, con la instalación de fábrica de las pngcomponents, puedo usar un TPngImageList y asociarlo a un ListView, un Toolbar o un TreeView, y las imágenes se ven correctamente, aun sin poner un XPManifest, a pesar de que la documentación de las componentes menciona:

Cita:
Even though PngImageList tries to make the best out of it, Windows 2000 and earlier simply do not support an alpha channel in an icon and may therefor display it incorrectly. This also applies on Windows XP and later, if you forget to add a manifest to your application. Note that themes support is not required for this to work, just a manifest is enough (themes may even be unavailable).
Después de actualizar la librería pngdelphi, se arreglaron- como dije -las mencionadas propiedades, pero ahora las componentes listview, toolbar y treeview, dibujan mal las imágenes, a menos que agreguemos un XPManifest.

Quizá D&W tenga alguna otra idea que nos pueda servir. Por el momento, me quedo sin stretched- que a fin de cuentas no uso.

// Saludos
Responder Con Cita
  #8  
Antiguo 18-04-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
Question

realmente nunca había probado el componente utilizando versiones de windows anteriores a XP y siempre he utilizado en XPManifiest, seguramente por eso no me había dado cuenta de este gran inconveniente del componente. pero bueno, leí un poco el código fuente de TpngImageList y tal parece que este lo que hace es convertir la imagen PNG a un icono y creo que es por eso lo de la cita:

Cita:
Even though PngImageList tries to make the best out of it, Windows 2000 and earlier simply do not support an alpha channel in an icon and may therefor display it incorrectly. This also applies on Windows XP and later, if you forget to add a manifest to your application. Note that themes support is not required for this to work, just a manifest is enough (themes may even be unavailable).
ya que todos sabemos que antes de winxp, lo icono solamente soportaban 256 colores. Lo que me llama la atención, es que me digas que con la versión original de los PNGComponents, las imágenes se te dibujaban si ningún error, esto antes de aplicarle la versión más reciente del PNGImage. Talves puedas facilitarme o facilitarno una copia de esa versión para darle una revisión, pues realmente me interesa, porque ya casi toda mi aplicación la he migrado a este componente, si haberme dado cuenta de este gran inconveniente. Te agradezco muchisimo tu observación.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #9  
Antiguo 18-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola,

Disculpa por favor la confusión, debí haber hecho más pruebas, pues lo cierto es que no dibuja bien en todos los casos si no se pone el XPManifest.

Aún así, me queda la duda de si la actualización la estoy haciendo correctamente.

// Saludos
Responder Con Cita
  #10  
Antiguo 18-04-2007
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 18
Chris Va por buen camino
A pesar de ser unn gran inconveniente esto de que no dibuje correctamente las imágenes si el XPManifiest y menos en versiones de Windows anteriores a XP, todavía existe una solución. El TToolBar está basado en la librería ComCtrls32.dll, esta es la responsable de la capidad que tienen las aplicaciones de cambiar de apariencia en WinXP. Según leía en un artículo, Microsoft puede darte permiso de distribuir la versión de esta librería que viene con XP (Hacerlo sin permiso es contra la ley).

Aparte de eso, si creemos en las encuestas, según ellas ya más de 80% de los usuario utilizan XP o superior, esto baja las propavilidades de que nuestras aplicaciones sean ejecutadas en versiones en donde no se podrán ver bien ls imágenes. Me imagino que este 80% es en gran parte el primer mundo y no creo que esa misma estadística se aplique a nuestros países de A.L. Por eso no nos podemos confiar.

Voy a intentar dibujar los controles manualmente sobre los ToolBtns, a ver si con esta forma se dibujan correctamente si el manifiest, coo habran notado, el objeto TPngObject dibuja en el camvas correctamente una imagen PNG sin necesitar de manifiest. Mis resultados los expondré un día de estos. Bye.

p/d: para los que todavía intenten dibujar con Strech y no lo han podido, no se den por vencido, porque lo puedes hacer manualmente con el procedimiento del TCanvas, "DrawStreched".
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web

Última edición por Chris fecha: 18-04-2007 a las 19:37:25.
Responder Con Cita
  #11  
Antiguo 18-04-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por D&W
Voy a intentar dibujar los controles manualmente sobre los ToolBtns
Te interesará entonces, el ejemplo de seoane aquí.

// Saludos
Responder Con Cita
  #12  
Antiguo 22-04-2007
kloud kloud is offline
Miembro
 
Registrado: ene 2006
Posts: 23
Poder: 0
kloud Va por buen camino
Smile

Por fin lo consegui! Al final hice lo que comento Roman. Gracias a los dos por vuestra ayuda .
Un saludo.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Propiedad Locate dsa132132 OOP 20 12-12-2011 02:44:57
¿Stretch de video en un Mediaplayer? NPIdea Gráficos 1 06-02-2007 00:14:04
QRImage Stretch No Funciona spider_Ramon Impresión 0 08-02-2006 19:03:45
Propiedad del DBGrid Iskariote0087 Varios 3 19-01-2006 16:53:46
Propiedad FocusControl gluglu Varios 11 20-12-2005 19:36:20


La franja horaria es GMT +2. Ahora son las 20:37:57.


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